您的位置:首页 > 其它

每天学习一点flash(33) as 3.0 游戏设计笔记(2)

2008-02-01 16:18 543 查看
var dy:Number;//两者Y轴之间的距离
var dx:Number;
var dxspeed:Number;
var dyspeed:Number;
var r:Number;
var du:Number;
ship.addEventListener(Event.ENTER_FRAME,runing);

function runing(event:Event):void{
dy=Math.round(mouseY-ship.y);
dyspeed=Math.round(dy/5);
ship.y+=dyspeed;

dx=Math.round(mouseX-ship.x);
dxspeed=Math.round(dx/5);
ship.x+=dxspeed;

r=Math.atan2(mouseY-ship.y,mouseX-ship.x)//计算出鼠标与物体的角度
du=Math.round(r*180/Math.PI);
ship.rotation=du;
x_ship.text=Math.round(ship.x).toString();
y_ship.text=Math.round(ship.y).toString();
}

lan1.addEventListener(Event.ENTER_FRAME,top_hitting);
function top_hitting(event:Event):void{

while(lan1.hitTestObject(ship))
{
ship.y=ship.y+50;

}

}

lan2.addEventListener(Event.ENTER_FRAME,bottom_hitting);
function bottom_hitting(event:Event):void{

while(lan2.hitTestObject(ship))
{
ship.y=ship.y-50;

}

}

lan3.addEventListener(Event.ENTER_FRAME,left_hitting);
function left_hitting(event:Event):void{

while(lan3.hitTestObject(ship))
{
ship.x=ship.x+50;

}
}

lan4.addEventListener(Event.ENTER_FRAME,right_hitting);
function right_hitting(event:Event):void{

while(lan4.hitTestObject(ship))
{
ship.x=ship.x-50;

}
}

/////////////////复制篇 复制的水果/////////////
var myarray:Array=new Array();
var time:Timer=new Timer(1000);//设置时间复制小球
time.addEventListener(TimerEvent.TIMER,creatball);//利用时间间隔来复制小球
var num:int=0;

function creatball(event:TimerEvent):void{
var container:Sprite = new Sprite();
addChild(container);
var mymc:orange=new orange();
mymc.x=Math.random()*750;//让每个影片剪辑都控制在800宽里面出现
container.addChild(mymc);
mymc.addEventListener(Event.ENTER_FRAME,running);

function running(event:Event):void
{
event.target.y+=6;
event.target.rotation=Math.random()*10;

/////////////////////////栏杆碰撞/////
if(lan2.hitTestObject(DisplayObject(event.target)))
{
try{
container.removeChild(DisplayObject(event.target));
}
catch(e:ArgumentError)
{
trace("ds");
}
}

///////////////////////////飞船碰撞///////////////////
if(ship.hitTestObject(DisplayObject(event.target)))
{

try{

container.removeChild(DisplayObject(event.target));
num=num+1;
var tollmark:int=num;
mark.text=Math.round(tollmark).toString();
}
catch(e:ArgumentError)
{
trace("ds");
}
}

}
}
time.start();

/////////////////////产生苹果/////////////////////////////////////

var time_2:Timer=new Timer(3000);//设置时间复制小球
time_2.addEventListener(TimerEvent.TIMER,creatapple);//利用时间间隔来复制小球
var num_2:int=0;

function creatapple(event:TimerEvent):void{
var container_2:Sprite = new Sprite();
addChild(container_2);
var mymc_2:apple=new apple();
mymc_2.x=Math.random()*750;//让每个影片剪辑都控制在800宽里面出现
container_2.addChild(mymc_2);
mymc_2.addEventListener(Event.ENTER_FRAME,running_2);

function running_2(event:Event):void
{
event.target.y+=4;
event.target.rotation=Math.random()*10;

/////////////////////////栏杆碰撞苹果/////
if(lan2.hitTestObject(DisplayObject(event.target)))
{
try{
container_2.removeChild(DisplayObject(event.target));
}
catch(e:ArgumentError)
{
trace("ds");
}
}

///////////////////////////苹果飞船碰撞///////////////////
if(ship.hitTestObject(DisplayObject(event.target)))
{

try{

container_2.removeChild(DisplayObject(event.target));
num_2=num_2+1;
var applemark2:int=num_2;
applemark.text=Math.round(applemark2).toString();
}
catch(e:ArgumentError)
{
trace("ds");
}
}

}
}
time_2.start();





新建了几个 影片剪辑 主要是orange 和apple 和ship ,今天整了一些碰撞测试,结果会产生一些错误的东西

真鬼烦啊,不过使用try {} catch 居然无事了 真是奇怪

好简单的计算游戏 还没有弄好,继续添加声音和其他东西 闪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: