[ 求助 ]这是一个问题。
顺子 那么tile 的碰撞事件是如何设置的呢?
hihibaibai 呃……其实我没下过你说的这个demo,这一段代码看起来应该是判断玩家角色是不是在梯子上然后来判断是否可以爬梯的代码?你这段里c1,c2,c3分别判断了所在位置像素点是否有目标tiles,如果你需要执行碰撞的操作,用类似这样的方法也可以检测一旦遇到应该发生碰撞的tiles,就执行停止运动的代码,这样就会给人一种发生碰撞然后被阻挡了的感觉了
顺子 我的意思其实是指那个c1c2c3是如何改变数字的。我研究了好久都没发现怎么变,搜索功能都用了。
hihibaibai 改变数字?
c1 当前sprite左侧tile的编号
c2 当前sprite右侧tile的编号
c3 当前sprite所处tile的编号
一般来说,tileset从左到右,从上到下从0开始排
这里面的分别比较的 1 2 3 对应的tile,你可以进行修改,改为你自己tileset的编号
RetroDaddy tileset在哪里改啊?
顺子 代码里面有c1=1 有c1=2,既然是检测,那么这些数值是什么时候改变的呢?
hihibaibai 结合RetroDaddy的回复,c1,c2,c3分别是三个不同位置tile的编号,随着玩家的移动自然这三个点的坐标也在变化,那接触到的tile肯定是不一样的就会自然发生变化,然后RetroDaddy也说了1,2,3对应的是tilesets里每一个单元格,从左往右从上往下一个格子对应一个序号……这样可以理解?
你这是哪一个demo?
顺子 上面那个。
hihibaibai 我也瞧瞧去~上周儿子出生一直在医院哈哈~
顺子 恭喜恭喜!!!
Linpean hihibaibai 谢谢:D
这个例子中设置了tiles的瓦片,c1,c2,c3分别对应的是上面这个图,从左到右,从上到下的瓦片顺序。Demo这段代码里面,红色的是平台碰撞,黄色代表的是梯子的碰撞,蓝色的箱子的碰撞。分别对应就是c1,c2和c3。之所以没有0,是因为0那个位置是空的。到现在我也没研究明白,为什么没有c0,还请高人指点啊。。。
芭蕉胖 非常感谢解答,这个c1 c2 c3 是自动设置的还是要手动的呢?
这个玩家对象的原点是设在底部中央位置的吧
那这三个就是分别判断左下角,右下角和原点所在位置是否有oGame.map这个瓷片贴图存在的,等于判断是否有tiles的碰撞事件