Construct2/3

创建于:2017-02-24

创建人: iconboy

103 信息 417 成员
Construct2/3 引擎开发专题

如何实现同一个Object的不同instance?

mooncake 2019-02-14

想做一个类似炉石的卡牌游戏,期初就想用一个Sprite来做所有卡牌,但是发现这样虽然可以达到换不同卡牌牌面图案的功能,但是在实现点击卡牌,触发卡牌里面的魔法效果的时候,或者判断卡牌有没有被点击过的时候就好像有点问题,因为C2里面生成的Instance好像都是统一改变它的变量。请问如果我游戏里面有100张卡牌,每张卡牌都有好几个不同的属性,是否要做100个不同的Sprite来实现?还是有其他比较好的实现方案?谢谢

 
0x97 2019-02-22

mooncake 用一个sprite就行,UID来判断是哪张牌

 
流云思水 2019-10-30

Releed sprite创建出来的,并不能单独改变image

 
potion 2020-05-27

mooncake 建议先熟悉一下Construct里选择实例的基础功能再做复杂的东西。

几种常用的选择方式(选中了就可以改变资源改变变量):

1 创建后会自动选中当前的实例,这个时候可以做各种操作

2 用click,touch等方式,甚至物体碰撞等方式可以获取到接触目标,同时也会选中

3 用UID,每个实例都有自己的uid,可以通过uid去做选择

4 pick物体,pick all可以选中所有的,pick by可以设定条件,你可以选择所有符合条件的,也可以直接选择符合uid的实例

5 for each,用于循环选择物体,下级判断当前选择的物体是否符合就能做操作


总的来说基本都需要你在创建物体的时候做一些简单的赋值。比如你的卡牌创建的时候,可以把这个卡牌对应的一些特征变量赋给这个实例,之后就可以用这些特征去筛选了。例如pick符合5费 and 攻3的牌

 

加入 indienova

  • 建立个人/工作室档案
  • 建立开发中的游戏档案
  • 关注个人/工作室动态
  • 寻找合作伙伴共同开发
  • 寻求线上发行
  • 更多服务……
登录/注册