1

现在我有一个大约 10x10 的方格,玩家可以一次移动 1 个方格。当他们跳到一个正方形时,我需要一个动画来播放基于他们跳到的正方形的 sprite_index 和他们刚刚来自的那个正方形。我已经解决了“跳转到”的问题。在玩家和方格之间的碰撞事件中(其他是方格):

with(other){
if sprite_index = sGreenH {
instance_create(x,y,oGreenPlayerAni)

(还有更好的方法来完成上述操作吗?我可以删除它/替换它然后放一些东西,而不是在上面生成它吗?)

所以现在我正试图从角色离开的广场上播放动画。我可以通过带有正方形的玩家碰撞来做到这一点:

xx = xprevious and yy = yprevious 
instance_create(xx,yy, someanimation)

问题是我无法自定义播放哪个动画。有 4 种可能的动画颜色可用于 4 个不同的颜色方块。所以我尝试在我的广场上进行碰撞事件,让玩家制作一个变量,例如

if sprite_index = sGreen {
global.previousColor = 1

对于我的每一种颜色。然后在我的玩家与广场的碰撞事件中我有

if global.previousColor = 1 {
instance_create(xx,yy, oGreenHollowAni)

然后当我移动时出现错误。

代码方块与玩家碰撞(玩家在方块上): http: //puu.sh/n9zCY/2f226b6d3c.png

代码播放器与正方形碰撞:http: //puu.sh/n9zK6/deac1a09f5.png

错误: http: //puu.sh/n9zPj/ea84a9a943.png

4

1 回答 1

0

我不确定我是否理解你的问题。据我所知,你总是在玩家移动时创建一个新实例?

如果是这样,那就不好了。当您创建 10x10 的正方形网格时,我猜您创建了一个数组,您将在其中放置显示哪种颜色的正方形的信息,fe。array[x][y] = color.green ...然后您可以创建一个枚举并定义green = 1,blue = 2 ...这个数组将是一个全局数组。然后从玩家类别中检查您当前所在的方格,如果您移动,则检查您将在哪个方格上。使用这些信息,您可以定义动画。

让我知道这是否是您的意思。

埃里克

于 2016-02-28T09:47:38.247 回答