Flash 脚本游戏开发教程第六课

所属分类: 媒体动画 / Flash教程 阅读数: 59
收藏 0 赞 0 分享

范例接宝游戏中人物类的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

记得前几节我说的“继承”这个概念么?
快去翻出来看看。

鸣人和小李就是上键技能不同,所以继承过来后,正文把按键控制重写一次就行了,其它就全继承小李的类了
代码如下

class player.Player_2 extends player.Player_1 {
    //继承了player.Player_1类,所以只需要把两者间唯一不同的Move函数重写次就可以啦~当然构造函数还是要的
    function Player_2() {
        init();
    }
    //人物2的Move函数
    private function Move() {
        if (Key.isDown(37)) {
            _xscale = -100;
            _x -= speed;
            if (_currentframe != 3) {
                gotoAndStop("run");
            }//这句自己体会下,不加的话,按上键后鸣人就一直不停的在跳跃了
        } else if (Key.isDown(39)) {
            _xscale = 100;
            _x += speed;
            if (_currentframe != 3) {
                gotoAndStop("run");
            }
        } else {
            if (_currentframe != 3) {
                gotoAndStop("stand");
            }
        }
        //
        if (Key.isDown(38)) {
            gotoAndStop("jump");
        }
        range();
    }
}

好了,人物类就写完了。
消化下。后面的宝物类大同小异,下一节再写。

更多精彩内容其他人还在看

Flash cs3绘制人物高级行走动画教程

本教程向大家介绍Flash cs3绘制人物高级行走动画效果,教程难度不是很大,绘制方法及过程介绍的也非常详细,教程很实用,转发过来,希望大家喜欢
收藏 0 赞 0 分享

Flash CS4来制作漂亮的气泡动画教程

本教程向脚本之家的朋友介绍用Flash CS4来制作漂亮的气泡动画,制作出来气泡真的很好看,制作效果是采用代码形式实现,觉得很不错,转发过来,感兴趣的朋友可以一起来学习
收藏 0 赞 0 分享

flash基础教程:帧、关键帧、空白帧概念及区别介绍

动画的产生是帧来实现的,那什么是帧?帧、关键帧和空白帧之间又有什么区别?本文就为大家介绍一下三者之间的关系
收藏 0 赞 0 分享

Flash教程:动画背景的绘制方法之透视篇(给新手)

Flash动画在网络上的广泛传播,已经成为上网一族喜闻乐见的一种艺术形式。动画背景的绘制方法有很多,也有很多表现方法。这里将结合透视学的基础知识向大家简单的介绍一下动画背景的绘制。
收藏 0 赞 0 分享

Flash AS入门教程:Flash AS3.0制作有年份有日期的时钟

本教程是向大家介绍利用Flash AS3.0制作有年份有日期的时钟,虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习,转发给大家,希望对大家有所帮助
收藏 0 赞 0 分享

Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程

在本文中我们将会看到的是Flash相册制作大师的具体使用的方法
收藏 0 赞 0 分享

flash基础教程:混色器面板图文介绍

混色器面板是Flash中用于色彩处理的一个重要面板,熟练地使用该面板,可以帮助用户快速地完成色彩的填充,编辑出色彩丰富的图形。本教程为大家详细介绍一下混色器面板,希望对大家有所帮助
收藏 0 赞 0 分享

25个绝对让你应接不暇的Flash网站创意

在Web设计过程中,运用成熟的Flash技术可以把你任意想到的idea表现到产品页面中。这里为你整理发现了25个绝对让你应接不暇的 Flash网站创意,更好地体现网站的互动应用,同时可以让你大饱眼福,一起来欣赏吧
收藏 0 赞 0 分享

教你用Flash制作非常酷的二进制时钟动画

今天在这个教程中我们将学习用Flash做一个不同寻常的,但非常酷的时钟:一个二进制时钟,中间用到了代码,但介绍地很详细,相信很值得大家学习
收藏 0 赞 0 分享

Flash动画特效制作技巧:制作超酷的文字炸开动画效果

本教程向大家介绍Flash动画特效制作技巧,本实例是制作文字炸开的动画效果,制作效果非常酷,制作过程也比较简单,喜欢的朋友可以过来学习一下这种制作方法
收藏 0 赞 0 分享
查看更多