我正在创建简单的 Flash 游戏。我需要在角色移动时更改动画。例如,在前进、奔跑、跳跃、攻击等时。我有不同的动画。只是我不知道如何正确添加它们?
在图书馆我创造了我的角色,它命名为“英雄”作为链接也“英雄”。我需要双击它并在英雄的时间轴中创建新的图层,名称为跑步、行走、攻击等......然后将动画放在这里?或者我需要在库中创建名称并作为链接“HeroRun”、“heroAttack”等...?
据我所知,我需要稍后使用类似的东西,Hero.gotoAndPlay(run);
但这对我不起作用。很抱歉这些新手问题,但我真的需要你的帮助,谢谢。
例如,这是我左转代码的一部分:
if(left){
Hero.x_speed = -walkspeed;
setDirection(1);
Hero.gotoAndPlay(run);// I don't know how to use It correctly
}
更新
现在的样子:创建了 MovieClip 角色 Hero
创造的层层出不穷
Hero.gotoAndStop("hit");
现在如果想看“命中”动画,我需要使用吗?
更新 2
好吧,我做到了,但现在我有问题没有动画,只有在我使用后才改变图像Hero.gotoAndStop("attack");
,但这里必须是动画。这是攻击 MovieClip 的照片:
这是我的英雄截图。它有 2 个关键帧攻击和前进。
这是英雄 > 时间线的截图:
更新:
这是我的空间按钮(跳跃角色)代码,当它在地面上显示动画时我有很大的滞后我认为这是因为检查碰撞以及在空中动画播放时没有滞后。
if(Hero.y_speed>0 && myCollisionList.checkCollisions().length > 0 ){
Hero.y_speed=0;
Hero.x_speed=0;
if(space){
if (ground.hitTestPoint(Hero.x + 28, Hero.y+20, true)){
Hero.gotoAndStop("attack");
stop();
Hero.y_speed = -20;
这是碰撞列表:
var myCollisionList:CollisionList = new CollisionList(Hero);
myCollisionList.addItem(ground);
myCollisionList.addItem(ground3);
myCollisionList.addItem(ground5);
myCollisionList.addItem(ground4);