每天学习多一点flash(36) as2.0 游戏设计笔记

 

//定义个水果
var num:Number=20;
var number:Number=0;
_root.applemark=0;//标记苹果分数
_root.orangemark=0;//标记橙分数

function creatorange(){
name="orange"+num;
attachMovie("orange",name,num);
_root[name]._x=Math.random()*700;
_root[name]._rotation=Math.random()*4;

num++;
}///产生大量的橙

function creatapple(){
name="apple"+number;
attachMovie("apple",name,number);
_root[name]._x=Math.random()*700;
_root[name]._rotation=Math.random()*4;
number++;
}

a=setInterval(creatorange,3000);
b=setInterval(creatapple,2000);


//背景音乐///
var b_music:Sound=new Sound();
b_music.attachSound("blackgroudmusic");
b_music.start(0,10000000);

 

/设置鱼儿动作//
var t:Number=1;
fish.onEnterFrame=function(){
 if(fish._y<411)
 {t=-1;}
 if(fish._y>611)
 {t=1;}
 
if(fish.hitTest(player))
{player._x-=25;}
 
 
}
var tt:Number=1;
fish2.onEnterFrame=function(){
 if(fish2._y<468)
 {tt=-1;}
 if(fish2._y>611)
 {tt=1;}
 
}
var ttt:Number=1;
fish3.onEnterFrame=function(){
 if(fish3._y<400)
 {ttt=-1;}
 if(fish3._y>611)
 {ttt=1;}
 
}
 
 
 

///墨鱼//
var yu_speed:Number=1;
moyu.onEnterFrame=function(){
 
 if(moyu._x>652)
 {
  
   yu_speed=-1;
 }
 
 if(moyu._x<542)
 {
  
   yu_speed=1;
 }
 
}  

 

部分的代码。其中包括怎样产生大量物体的语句,例如

function creatapple(){
name="apple"+number;
attachMovie("apple",name,number);
_root[name]._x=Math.random()*700;
_root[name]._rotation=Math.random()*4;
number++;
}


b=setInterval(creatapple,2000);//利用时间间隔来产生这一个大量物体的过程。

在使用这些语句的时候在库里面选择连接,勾选第一帧输出,赋予一个id 号:

其次 就是赋予物体动作:以及发生碰撞的时候 会发生什么的状况,如分数增加,血瓶减少,声音产生,物体撤销,状态改变等等状况。


onClipEvent (enterFrame) {
 this._y+=4;
 
 if(this.hitTest(_root.player))
 {
  
  _root.applemark+=1;
  var p:Sound=new Sound();
  p.attachSound("aa");
  p.start(0,1);
  removeMovieClip(_parent);}
}

之后就需要对主角赋予一些操作的动作。

onClipEvent (load)
{
    function move(x, y)
    {
        setProperty("", _x, _x + Math.cos(_rotation * 3.141593E+000 / 180) * x);
        setProperty("", _y, _y + Math.sin(_rotation * 3.141593E+000 / 180) * x);
        if (!_root.map.hitTest(_x, _y + y, true))
        {
            setProperty("", _y, _y + y);
        }
    }
  
}
onClipEvent (enterFrame)
{
    if (Key.isDown(Key.UP) && !jump)
    {
       
        jump = true;
        vy = -13;
    }
    if (jump)
    {
        move(0, -5);
        move(0, vy++);
        if (vy ==18)
        {
            jump = false;
        } // end if
    } // end if
    if (1)
    {
        move(0, 5);
    
    } // end else if
    if (Key.isDown(Key.RIGHT))
    {
       
            move(5, 0);
        } // end if
     
 
    if (Key.isDown(Key.LEFT))
    {
    
            move(-5, 0);
        } // end if
   
   
}
算法 可以参考马里奥的flash 游戏来产生,这些都是很好练习,但如果把这些放到一个类去 应该会很好很好。

之后再设置 设置陷阱 加强啊游戏的好玩度。。 最后先做美工啦

源文件:

http://dl2.csdn.net/down4/20080210/10180244169.rar 

希望可以帮助大家对大家有点启发,写得不好,望能见谅!菜鸟 ————+夏天的树人上

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值