收藏
回答

关于克隆体与“创建者”之间关系的疑问?

1,克隆体继承创建者所有的事件,如果想单独发送某个通知给创建者,似乎是不可行的,因为所有克隆体也会继承这一通知。目前使用的方法是发送通知之后,在接到通知的事件中加入“如果不是克隆体的判定”,这种方法有没有办法优化呢?

2,克隆体在生成的那一刻似乎不会继承创建者的局部变量,但我使用手动设置的方法也失败了,怎样才能让克隆体继承创建者的局部变量的数值呢?

如上图,我希望克隆体继承它“出生”的那一刻创建者的“数字”这一局部变量的数值,发现失败了;

于是手动设置,在克隆体启动时,将克隆体的“数字”设置为“创建者”的“数字”,假设创建者为a,克隆体为a1,大概就是希望

a1.数字=a.数字

目前没有找到可行的办法。

https://gamemaker.weixin.qq.com/ide?code=011gnlJ32Zko0R0zKFG32PBfJ32gnlJv&state=#/home/lbMmFlMWQzYzktYWFmMy00ODMzLTkyY2ItYmI4NTAwZjUxZWU3

求大佬们帮我看下,感谢!

回答关注问题邀请回答
收藏

2 个回答

  • 折面
    折面
    2020-12-07

    看下这样是不是你要的,被克隆时设置自己的属性为创建者的属性

    2020-12-07
    有用
    回复 8
    • Adam
      Adam
      2020-12-07
      我用您的方法新建了一个“测试用”项目,如下图,然后使用【调试场景】观察克隆体的局部变量“数字”,发现还是不行,创建者的“数字”从0开始不断变大,克隆体的“数字”永远都=0.
      2020-12-07
      回复
    • 折面
      折面
      2020-12-07回复Adam
      你可能没看懂我上面演示的积木,你增加的是一个变量,和属性是不一样的,属性是一个a.key和b.key的关系,你在key这里放了变量,再仔细看看我的演示
      2020-12-07
      回复
    • Adam
      Adam
      2020-12-07回复折面
      明白了,像速度/坐标/方向这些精灵自带的【属性】,可以用这个积木实现继承,那如果想取到一个特定精灵的局部变量数值有办法吗?
      2020-12-07
      回复
    • Adam
      Adam
      2020-12-07回复折面
      或者更抽象一些,我面临的问题时,设想中希望卡牌(对应精灵或容器)在游戏进程中会有一些变化,这些变化需要用局部变量去存储,我希望卡牌克隆自身的时候能继承这些变化,所以自然的想法就是能继承局部变量。不知道这样表达是否清楚。
      2020-12-07
      回复
    • 折面
      折面
      2020-12-07回复Adam
      嗯嗯,明白,你的意思是目前克隆的时候没有继承之前的属性,这个我们商量一下,看看是不是可以直接优化一下
      2020-12-07
      回复
    查看更多(3)
  • 为了未来
    为了未来
    02-10
    你烧呗。
    02-10
    有用
    回复
登录 后发表内容