首 页
网络学院
视频教程
资源下载
HOT
实例教程
图文教程
专题中心
学习社区
繁體中文
当前位置:
首页
>
图文教程
>
Flash动画
>
ActionScript
> Flash游戏开发教程:第六节
ActionScript
FLASH AS3与网页JS参数值传递的问题
Flash AS3的parameters对象处理网页参数
Flash教程 认识Flash ActionScript的环境
Flash ActionScript编程基础
Flash AS3代码实现鼠标跟随喷枪涂鸦效果
falsh 跨域调用配置
Flash AS3.0 实例教程 喷泉动画特效
AS3 Loader与URLLoader的比较
ColorTransform类调整显示对象的颜色值
Flash AS3 快速制作烟雾动画
Flash AS3 制作文字飞出动画
ActionScript 学习小心得
ActionScript3.0读取网页FlashVars中的参数的问题
通过实例学习AS3.0:案例三
通过实例学习Flash AS3.0:案例四
通过实例学习Flash AS3.0:案例五
通过实例学习Flash AS3.0:案例六
Flash教程:认识Flash ActionScript的环境
Flash as入门(1):认识AS面板
Flash as入门(3):AS基本语法
No.
«
‹
5
6
7
8
›
»
技术文章搜索
关键字
ActionScript 中的 Flash游戏开发教程:第六节
出处:
互联网
整理:
软晨网(RuanChen.com)
发布:
2009-09-16
浏览: 169 ::
收藏到网摘: n/a
Flash游戏开发教程:第五节
Flash AS3教程:下雪动画效果
请先阅读: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
记得前几节我说的“继承”这个概念么?
快去翻出来看看。
鸣人和小李就是上键技能不同,所以继承过来后,正文把按键控制重写一次就行了,其它就全继承小李的类了
代码如下
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游戏开发教程:第五节
Flash AS3教程:下雪动画效果
评论 (0)
All
登陆
还没注册?