现在的位置: 首页 > 综合 > 正文

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

2013年09月17日 ⁄ 综合 ⁄ 共 3313字 ⁄ 字号 评论关闭

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

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

 

 

抱歉!评论已关闭.