阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2012-02-15 21:29  阳光VIP  阅读(141)  评论(0编辑  收藏  举报

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 居然无事了 真是奇怪

好简单的计算游戏 还没有弄好,继续添加声音和其他东西 闪