(转载)FLASH游戏入门 四
本来不想写这节的,因为这节的内容很多书上或者网上资料都有,而且写的比我要详细正规得多。但后来想想,还是写吧!
而且后面几节要结合接宝的范例游戏,具体分析它的几个CLASS,所以,还是用一节把CLASS的写法说一下。可能我对CLASS的写法也不是很正规,有老鸟看了后,最好也能指点一下。
先来个CLASS基本的模式。
文件名:Time_control.as
class Time_control {
//第一部分:声明本CLASS要用到的变量
static var a:Number=2;
private var b:Number;
private var c:Number=1;
public var d:Number;
//第二部分:构造函数
function Time_control() {
init();
}
//第三部分:隐式设置-获取法
public function set _d(sss:Number):Void {
d = sss;
}
public function get _d():Number {
return (d);
}
//第四部分:私有和公有方法
private function init() {
//一般写点初始化的内容
}
private function aa() {
}
public function bb() {
}
}
如果是要继承类,比如继承MovieClip类,第一行就改写成
class Time_control extends MovieClip {
下面简单解释下各个部分(我最不擅长解释说明这类东西)
CLASS类都是以
class 类名称 {
内容
}
的形式,而且类名称和文件名要相同。
CLASS的内容分四部分
第一部分
声明本CLASS所用到的变量,这里要提的是,和在SWF里定义变量不同。SWF里你可以用比如a=1这种自动变量形式,而在CLASS里你必须写明a的类型是Number,再定义变量值是1
第二部分
是CLASS的构造函数,什么意思呢?就是当CLASS的实例出现后,自动执行这个function里的内容,一般都是些初始化的内容。function的名称要和CLASS类的名称一样哦~而且这里初始化一般都是用个init()函数,init函数具体在后面回自己定义。为什么要这样而不直接把初始化内容写在构造函数内呢?因为当继承其它类的时候,构造函数是不能继承的,还得自己再写一次,而init函数是可以继承的,于是……呵呵,懒人懒办法嘛~直接把内容写在构造函数里的话,每次继承就还要重写次,用自定义init函数的话,就可以偷懒咯~
第三部分
是定义隐式设置-获取的functio
相关文档:
用FLASH做RPG,我晕,呵呵,听到这个,很多人恐怕要这么认为。不过FLASH强大的脚本功能和出色的动画函数,给我FLASH做RPG游戏提供了
很好的支持。从今天开始大愚分2节课程给大家讲述做RPG游戏的基础模型。由于大愚也是一个菜鸟,所以错误之处,还请见谅。
由于FLASH还不能支持3D,所以在FLASH的游戏中 ......
目前来讲,我依然还不会做一个小游戏出来。做游戏需要知道很多东西,这个flash 只是一个自娱自乐的东西。要是看了误导就别怪了。
好,制作这个东西之前,其实这篇文章有一些重复了,不过只是一种demo式的演示。通过键盘来控制控制一个人物走动。
上面是一张透明的png位图。有四个不同的方向。可以看到 基本上上下 ......
http://androider.javaeye.com/blog/268914
1.显示
一个游戏离不开显示,AS3已经为开发者提供了一个比较完整的2D显示引擎了。学习这个部分,学习显示列表,学习DisplayObject和DisplayObjectContainer的区别,学习Shape, Sprite, MovieClip, Bitmap这些基本可显示对象的区别。
2.鼠标输入
&nb ......
最近老是被一些底层的东西困扰着,老大说可能的话自己要做个编译器。嘿嘿,这两小罗那边也在叫嚣着自己做个小编译器,嘿嘿。。再者是最近项目里用到了as的正则表达式,非常恶心,反正还是不能满足目前自己的需求,而听老大说as的正则是用perl那的一套,什么版本我也搞不清了,所以也想看看AVM2的底层代码,底层的东西还是很 ......
在具体讲解CLASS构造前,想花点篇幅帮小鸟们理解下CLASS是什么东东。
还是来举个例子,有一个机械战士的MC,这个MC里有机械战士完整的构造,手脚、身体、武器……
但这个机械战士仍然不能动,因为它只是一具机械,没有大脑程序告诉它该怎么走动,怎么攻击……
而我们做的&ldquo ......