论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

FLASH小游戏开发 第六节

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:36:13


FLASH小游戏开发 第一节    FLASH小游戏开发 第二节      FLASH小游戏开发 第三节  
FLASH小游戏开发 第四节     FLASH小游戏开发 第五节     FLASH小游戏开发 第六节     FLASH小游戏开发 第七节 

范例接宝游戏中人物类的CLASS讲解

首先请下载源文件:CLASS.rar

下载好,打开一看,如下:

  • 一个FLA主文件
    •  run_game.fla
  • 三个目录
    • player
    • items
    • game

我把.as类文件分门别类的存放,这样看上去清晰,更重要的是别人看了会觉得我很专业。

  • 目录player里有
    • Player_1.as 
    • Player_2.as
  • 目录items里有
    • Jin.as  
    • Bao1.as  
    •  Bao2.as
  • 目录game里有
    • Game_control.as
    • Score_view.as
    • Time_control.as

.as具体意义看文件名就应该能知道,这里要说的是,一般默认的规则,放CLASS目录用小写字母命名,.as的类文件名的首字母用大写

这节详细讲下人物类的CLASS,首先是Player_1.as,人物小李的类
首先去源文件里点进人物1的MC,看下结构。
由两帧组成,一是“stand”,二是“run”
人物上面有一层有个圆形的MC,我把它命名为hit,靠这个mc来做碰撞检测。
金币里面也有这个名叫hit的MC,我判断人物和金币是不是相碰是用这个语句的: 金币MC.hit.hitTest(人物MC.hit)
传统碰撞检测都这么做。

又开始扯话题了,马上拉回来
现在拿出Player_1.as的代码

class player.Player_1 extends MovieClip {
    private var hit:MovieClip; //人物MC里出现的东西都要声明,hit这个MC也不例外
    public var speed:Number;//这个是人物移动的速度
    //构造函数
    function Player_1() {
        init();//初始化的人物打包在init()里了
    }
    //隐式设置-获取法
    public function set _speed(sss:Number):Void {
        speed = sss;
    }//可供外界用MC._speed=X修改speed的数值
    public function get _speed():Number {
        return (speed);
    }//可供外界读取speed的数值
    //私-公有方法
    //---初始化方法---
    private function init() {
        _y = 310;
        _x = 300;//人物来到舞台后的初始位置
        speed = 6;//移动速度
        onEnterFrame = Move;//人物来到舞台后就开始onEnterFrame,内容见Move这个function
    }
    //---人物移动---
    private function Move() {
        if (Key.isDown(37)) {
            _xscale = -100;
            _x -= speed;
            this.gotoAndStop("run");
        } else if (Key.isDown(39)) {
            _xscale = 100;
            _x += speed;
            this.gotoAndStop("run");
        } else {
            this.gotoAndStop("stand");
        }
        //以上是左右键的定义,应该看得懂吧?
        if (Key.isDown(38)) {
            speed = 12;
        } else {
            speed = 6;
        }
                //以上是上键的定义,按着后速度就加倍咯
        range();//范围定义,内容见下面
    }
    //---限定移动范围---
    private function range() {       
        if (_x>540) {
            _x = 540;
        }
        if (_x<10) {
            _x = 10;
        }//不让人物出界
    }
}

这个CLASS文件就是这样。按照前几节我说的结构,鸟鸟们对照这看下。能不能看懂。这里要说的是,第一行的player.Player_1,其中 前面的player表示路径“.”就相当于"\",player.Player_1就相当于player\Player_1,关联到MC的时候也要这么写 的。

小李的CLASS写完了
然后写鸣人的CLASS

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058