我首先承认我是ActionScript的初学者,我正在编写自己的基本街机游戏(类似于旧街机游戏" Joust") 。虽然我已经能够对精灵的运动进行编码,但我希望当我按下右箭头时,精灵翻转以面向另一个方向。我想要么我可以尝试围绕它的轴旋转物体(我已经尝试了多次并且证明是困难的)或者我可以尝试"替换"当前的精灵与另一个精灵(这只是面向相反方向的精灵)。我到处搜索了一个用另一个精灵替换精灵的方法,但无济于事。当使用某个keyCode时,怎么能给这个精灵一个翻转效果呢?
答案 0 :(得分:1)
请尝试下面这个简单的代码。这里的'object'是你要翻转的movieclip / sprite
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;
}
}
注意:如果您希望动画片段在没有任何位置移动的情况下翻转,则动画片段必须水平居中注册。
告诉我这是否适合你。
答案 1 :(得分:0)
您使用的是as2 / as3吗?你可以将轴Y翻转180度 如果您使用as2,则需要通过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;
}