【AS3代码】用键盘方向键控制影片拖动
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.utils.getTimer;
public class Main extends Sprite
{
var mascot:Bo = new Bo();
var leftArrow:Boolean = false;
var rightArrow:Boolean = false;
var upArrow:Boolean = false;
var downArrow:Boolean = false;
public function Main():void
{
init();
}
private function init():void
{
this.addChild(mascot);
stage.addEventListener(KeyboardEvent.KEY_DOWN,downs);
stage.addEventListener(KeyboardEvent.KEY_UP,ups);
stage.addEventListener(Event.ENTER_FRAME,moves);
}
public function downs(e:KeyboardEvent):void
{
if(e.keyCode == 37)
{
leftArrow = true;
}
else if(e.keyCode == 38)
{
upArrow = true;
}
else if(e.keyCode == 39)
{
rightArrow = true;
}
else if(e.keyCode == 40)
{
downArrow = true;
}
}
public function ups(e:KeyboardEvent):void
{
if(e.keyCode == 37)
{
leftArrow = false;
}
else if(e.keyCode == 38)
{
upArrow = false;
}
else if(e.keyCode == 39)
{
rightArrow = false;
}
else if(e.keyCode == 40)
{
downArrow = false;
}
}
public function moves(e:Event):void
{
var speed:Number = 15;
if(leftArrow && upArrow)
{
mascot.x -= speed;
mascot.y -= speed;
}
if(leftArrow)
{
mascot.x -= speed;
}
else if(upArrow)
{
mascot.y -= speed;
}
if(rightArrow && downArrow)
{
mascot.x += speed;
mascot.y += speed;
}
if(rightArrow)
{
mascot.x += speed;
}
else if(downArrow)
{
mascot.y += speed;
}
}
}
}
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.utils.getTimer;
public class Main extends Sprite
{
var mascot:Bo = new Bo();
var leftArrow:Boolean = false;
var rightArrow:Boolean = false;
var upArrow:Boolean = false;
var downArrow:Boolean = false;
public function Main():void
{
init();
}
private function init():void
{
this.addChild(mascot);
stage.addEventListener(KeyboardEvent.KEY_DOWN,downs);
stage.addEventListener(KeyboardEvent.KEY_UP,ups);
stage.addEventListener(Event.ENTER_FRAME,moves);
}
public function downs(e:KeyboardEvent):void
{
if(e.keyCode == 37)
{
leftArrow = true;
}
else if(e.keyCode == 38)
{
upArrow = true;
}
else if(e.keyCode == 39)
{
rightArrow = true;
}
else if(e.keyCode == 40)
{
downArrow = true;
}
}
public function ups(e:KeyboardEvent):void
{
if(e.keyCode == 37)
{
leftArrow = false;
}
else if(e.keyCode == 38)
{
upArrow = false;
}
else if(e.keyCode == 39)
{
rightArrow = false;
}
else if(e.keyCode == 40)
{
downArrow = false;
}
}
public function moves(e:Event):void
{
var speed:Number = 15;
if(leftArrow && upArrow)
{
mascot.x -= speed;
mascot.y -= speed;
}
if(leftArrow)
{
mascot.x -= speed;
}
else if(upArrow)
{
mascot.y -= speed;
}
if(rightArrow && downArrow)
{
mascot.x += speed;
mascot.y += speed;
}
if(rightArrow)
{
mascot.x += speed;
}
else if(downArrow)
{
mascot.y += speed;
}
}
}
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想