怎么做一个大米吃小米的游戏啊,就是在Flash脚本中,怎么样在键盘侦听下去除舞台上的“小米”

[复制链接]
查看11 | 回复1 | 2013-7-4 11:48:53 | 显示全部楼层 |阅读模式
stop();
const KEY_LEFT:uint = 37;
const KEY_UP:uint = 38;
const KEY_RIGHT:uint = 39;
const KEY_DOWN:uint = 40;
// 记录箭头是否被按下
var leftArrow:Boolean = false;
var rightArrow:Boolean = false;
var upArrow:Boolean = false;
var downArrow:Boolean = false;
//一个球实例
//设置常量,用来设置网格的一些参数
const boardWidth:uint = 16;
//网格宽度
const boardHeight:uint =16;
//网格高度
const cardHorizontalSpacing:uint = 50;

const cardVerticalSpacing:uint = 50;

const boardOffsetX:uint = 10;
const boardOffsetY:uint = 25;
//垂直方向上空出的距离
const cardSpace:uint = 1;
//卡片之间的距离
const cardSizeX:uint = 600;
//卡片原始大小宽度
const cardSizeY:uint = 600;
//卡片原始大小高度
var cardsLeft:uint = 0;
//var circlesLeft:uint = 0;//剩余的圆
var cardlist:Array = new Array();
for(var i:uint=0;i<boardWidth*boardHeight;i++) {
cardlist.push(i);
cardlist.push(i);}//生成卡片数组
for(i=0;i<boardWidth;i++)
{ // 水平方向
for(var j:uint=0;j<boardHeight;j++)
{ // 垂直方向
var c:Card = new Card(); // 实例化卡片影片剪辑
c.gotoAndStop(1); // 卡片影片剪辑停止在第1帧上(所有卡片背面)
c.x = i*cardHorizontalSpacing+boardOffsetX; // 横坐标
c.y = j*cardVerticalSpacing+boardOffsetY;
c.scaleX = (cardHorizontalSpacing - cardSpace)/cardSizeX;
c.scaleY = (cardVerticalSpacing - cardSpace)/cardSizeY;
var r:uint = Math.floor(i*cardlist.length);
c.cardface = cardlist[r]; // 卡片的内容由随机值决定
addChild(c); // 加入显示列表
}
}
var ball:Shape = new Shape();
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(30,10,20);
addChild(ball);
//注册侦听器
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyPressedUp);
stage.addEventListener(Event.ENTER_FRAME, moveMascot);
//按下一个键
function keyPressedDown(event:KeyboardEvent) {
if (event.keyCode == KEY_LEFT)
leftArrow = true;
else if (event.keyCode == KEY_RIGHT)
rightArrow = true;
else if (event.keyCode == KEY_UP)
upArrow = true;
else if (event.keyCode == KEY_DOWN)
downArrow = true;
}
//弹起一个键盘
function keyPressedUp(event:KeyboardEvent) {
if (event.keyCode == KEY_LEFT)
leftArrow = false;
else if (event.keyCode == KEY_RIGHT)
rightArrow = false;
else if (event.keyCode == KEY_UP)
upArrow = false;
else if (event.keyCode == KEY_DOWN)
downArrow = false;
}
//移动
function moveMascot(event:Event) {
var speed:Number = 10;
if (leftArrow)
ball.x -= speed;
if (rightArrow)
ball.x += speed;
if (upArrow)
ball.y -= speed;
if (downArrow)
ball.y += speed;
if(ball.hitTestObject(c)==true);
removeChild(c);

}这是错误
ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子级。
at flash.display::DisplayObjectContainer/removeChild()
at _fla::MainTimeline/moveMascot()

回复

使用道具 举报

千问 | 2013-7-4 11:48:53 | 显示全部楼层
嗨!很抱歉、我们只是小米手机的客服人员、致力于解决用户小米手机、小米盒子等一些使用上的问题、为用户提供一些指导和引导。所以您问得这件事、没办法为您解答的。 如您在使用时遇到任何问题都可以来咨询,我们随时为您解答。更详细的描述问题有助于网友理解你遇到的麻烦,帮助你更准确的解决问题。谢谢你支持小米手机!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行