如何解决一个同类组的对象引用问题?



  • undefinedundefinedundefinedundefined

    如何解决一个同类组的对象引用问题?

    如何实现通过传id动作组(id1,id2) 来实现单位对单位的攻击逻辑



  • ‍编程里可以 创建unit1 ,  unit2分别指向2个对象 但是在唤境要怎么弄‍?



  • 我想到的方法是:通过局部变量储存攻击发起方的数据,然后重选被攻击方实例后,通过局部变量储存的值处理攻击结果
    如果是同对象的话其实引用问题还好解决一点,攻击方和被攻击方只要有一个是对象一个是同类组就行,虽然都是同一个对象的不同实例,但由于同类组和对象的实例选择情况是分别独立记录的,所以处理起来比较方便。
    不过你问的是同一个同类组的情况,我就没想到更好的方法了,因为同类组没有父同类组的设定,所以用不了上面的方法,如果多加一个同类组,又会存在实例变量不同步的问题。



  • @欧拉欧拉 老哥get到我说的问题了, 同一对象引用问题是唤境设计的一大缺陷啊, 没人重视



  • 是你逻辑有问题,你选中了单位id=3,在子条件下再选中单位id=1?现在单位组里只有单位id=3的实例,如何再选单位id=1的实例?
    所以选中实例后再选中同条件的其他实例先重置选择实例,条件-系统-全选实例。



  • @闲鱼虾丸 但最后还是写不了单位对单位的逻辑, 总不能写成 单位.HP = 单位.HP - 单位.攻击 ,因为只有"单位"这一个引用



  • @Diiii 第一个获取的数据保存到局部变量里不就可以了



  • @Diiii 方法倒是有的,就是没有你提到的这种这么直接,像官方的单线塔防模板,就把所有的单位(无论敌我),都统一成了一个逻辑对象,然后通过给这个对象加同类组,绕过了这个同一对象的数据引用问题,敌人图像只是绑定在逻辑块上面的(这种方法其实就如楼上所说的,同对象的引用可以拿同类组兜底,但同一同类组没有比较便利的方法做这个事(有方法,但不够便利,而且本质上方法也跟对象+同类组的处理方式类似))。



  • @牙白desune 是的, 之前我还特地去塔防模板找解决方法, 没想到也是兜底


Log in to reply