创建子物体的问题
gamemaker吧
全部回复
仅看楼主
level 12
假如物体A B C D ..... n (很多个)都是物体P的子物体,请问有什么方法可以快速随机创建一个P的子物体?能不能不用switch语句或者枚举?
2018年09月01日 11点09分 1
level 7
switch(irandom(子物体个数)){
case 0:创建子物体A
break;
case 1:创建子物体B
break;
。。。。。。
}
理论上是这样?
(irandom函数好像是gms2里的)
2018年09月01日 12点09分 2
level 9
instance_create( x, y, choose( objA, objB, objC, objD ) )
2018年09月01日 12点09分 3
level 12
楼上所说的确实行得通,但如果子物体有相当多呢?总不能全部列举出来吧?
2018年09月01日 13点09分 4
level 12
首先资源命名的要有规律一点,比如obj0,obj1,obj2...
然后gms的
instance_create(x,y,
asset_get_index("obj"+string(irandom(个数))))
或者gm8的execute_string,道理差不多
2018年09月01日 21点09分 5
level 1
如果你那些子物体的资源名没什么规则的话应该就只有枚举了
如果你的那些子物体的资源名分别是obj1,obj2,obj3这样的话GM8里你可以execute_string("instance_create(0,0,obj"+string(irandom_range(1,3))+")"
2018年09月01日 22点09分 6
最后少了一个括号,抱歉
2018年09月01日 22点09分
level 15
首先,不论你这些子物体名字是什么,你只需要把它们在资源树中放在同一级并摆在一起,这样就可以用
instance_create(irandom_range(objA,objZZZZ))这样,因为这样的话object的id是连续的。
2018年09月02日 01点09分 7
原来是这样,十分感谢[哈哈]
2018年09月02日 02点09分
这个就有点nb了!
2018年09月02日 06点09分
这个就有点nb了!
2018年09月02日 06点09分
不是吧,确定是GM8里能这样用吗
2018年09月03日 04点09分
level 7
楼主,能加我个微信吗?
2018年09月03日 09点09分 8
1