提问:如何做区域性伤害?
construct2吧
全部回复
仅看楼主
level 8
972023182
楼主
发射一个毒气弹,毒气弹爆炸之后,在半径R的范围内,持续T秒,形成一个区域性伤害范围
2014年08月19日 08点08分
1
level 12
huotanghulu
比较一下monster和毒气中心点的距离不知可否
2014年08月19日 08点08分
2
level 12
huotanghulu
或者用overlape
2014年08月19日 08点08分
3
972023182
谢谢
2014年08月19日 08点08分
level 13
傅老師_台灣
同前面说的,方法一是用数学计算式检查,方法二是用一个近似圆的多边形碰撞框检查。
2014年08月19日 08点08分
4
972023182
正在做, 给子弹添加一个Is_gas变量, 在击中敌人时如果为true,就spawn一个gas对象,gas对象持续T秒(用fade做的),enemy is overslapping gas enemy就设定中毒, 用timer做中毒时间,然后就是掉血了
2014年08月19日 08点08分
傅老師_台灣
回复 972023182 :记得检查一下gas的collision polygon。
2014年08月19日 08点08分
972023182
回复 傅老師_台灣 :嗯
2014年08月19日 08点08分
rexrainbow
hp这类的有最大最小值的属性可以试看看maxmin behavior.
2014年08月19日 08点08分
level 12
huotanghulu
对了柯南君 我也问下 原本a对应b我用ctrl出来的a'b'怎么让a'对应b' a对应b 以此类推 (本人表达能力捉鸡)
2014年08月19日 08点08分
5
972023182
a对应b是什么意思?
2014年08月19日 08点08分
huotanghulu
回复 972023182 :
好吧我表达能力捉鸡…… 我做好sprite和事件之后复制了多个sprite 怎么让他们分别对应上事件
2014年08月19日 08点08分
rexrainbow
回复 huotanghulu : 官方有container功能, 可以研究一下.
2014年08月19日 08点08分
972023182
回复 huotanghulu :具体到是什么游戏吧。 。。。
2014年08月19日 08点08分
level 8
972023182
楼主
老师。做到一半出现问题了
这样写了之后发现只有第一个接触到gas的才会掉血, ctral +F4看过,只要接触过的is_gasing都是true,但没有掉血
2014年08月19日 09点08分
6
詹思圆
毎1.5秒才读一个uid
2014年08月19日 09点08分
972023182
回复 詹思圆 :谢谢,这大概就是问题所在
2014年08月19日 10点08分
level 9
rexrainbow
+ every 1.5 second
+ is gasing
+ for each enemy
- ....
这也是实体选取的问题. 原因是, expression的目标只有选取的"第一个"实体. 所以用+ for each 遍历每个实体, 每个实体一次挑一个, 挑一轮.
2014年08月19日 09点08分
7
rexrainbow
for each是system condition
2014年08月19日 09点08分
rexrainbow
condition总是依序由上至下执行的
2014年08月19日 09点08分
972023182
回复 rexrainbow :还是不行,我在想是不是满足条件的is gasing的太多了,
2014年08月19日 09点08分
詹思圆
- -这个方法和WAR3,仅选择单位的模式一样,为何不做成碰撞模式,碰撞到的单位都 +一个值,然后爱做什么加什么
2014年08月19日 09点08分
level 9
rexrainbow
回到问题, 也许你可以这样写
+ every 1.5 second
+ is overlap gas
+ for each enemy
用is overlap取待on collision
2014年08月19日 09点08分
8
rexrainbow
这个问题应该可以把on collision合并进上一个condition内.
2014年08月19日 09点08分
972023182
回复 rexrainbow :我在调式状态下看过, 只要是接触到了gas的 is gasing都是变为true了的
2014年08月19日 09点08分
level 8
972023182
楼主
相关事件应该是这些, 另外刚刚我改用timer实现成功
@rexrainbow
@傅老師_台灣
@詹思圆
2014年08月19日 09点08分
9
rexrainbow
个人是比较偏爱用timer的, 不过这只是个人喜好.
2014年08月19日 09点08分
rexrainbow
用browser的action log 来debug, 是不错的选择. 有的时候debug panel不见得够用. 当要记录事件发生顺序, 或是事件执行次数.
2014年08月19日 09点08分
傅老師_台灣
你的
#5条事件把bullet destroy掉了,#
7行却有一个bullet测试事件。
2014年08月19日 10点08分
傅老師_台灣
把Every X second放到第一层,<for each>做为其子事件试试。
2014年08月19日 10点08分
1