首先,我承认我是 ActionScript 的初学者,并且正在编写自己的基本街机游戏(类似于旧街机游戏“Joust”)。虽然我已经能够对精灵的运动进行编码,但当我按下右箭头时,我希望让精灵翻转以面向另一个方向。我想要么我可以尝试围绕它的轴旋转对象(我已经尝试过多次并且证明很困难)或者我可以尝试用另一个精灵“替换”当前精灵(这只是精灵面向相反的方式)。我到处寻找用另一个精灵替换精灵的方法,但无济于事。当使用某个 keyCode 时,如何给这个 sprite 一个翻转效果?
问问题
659 次
2 回答
1
试试下面这个简单的代码。这里的“对象”是您要翻转的影片剪辑/精灵
stage.addEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown);
function OnKeyDown(event:KeyboardEvent):void
{
var uiKeyCode:uint = event.keyCode;
switch (uiKeyCode)
{
case Keyboard.LEFT :
object.scaleX = -1; //flip
break;
case Keyboard.RIGHT :
object.scaleX = 1; //unflip
break;
}
}
注意:如果您希望动画剪辑在其位置不发生任何变化的情况下翻转,则动画剪辑必须水平居中对齐。
告诉我这是否适合你。
于 2013-04-19T08:52:36.637 回答
0
您使用的是 as2/as3 吗?如果您使用 as2,您可以将 Y 轴翻转 180 度,您需要通过 actionScript 镜像位图或添加第二个镜像到显示列表的位图。
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
function keyPressedDown(event:KeyboardEvent):void
{
var key:uint = event.keyCode;
switch (key)
{
case Keyboard.LEFT :
myMovieClip.rotaionY = 180; // MC will be mirrored
break;
case Keyboard.RIGHT :
myMovieClip.rotaionY = 0;
}
于 2013-04-18T17:31:30.257 回答