来谈谈:Flash游戏开辟教程:第三节-Flash actionscript
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。请先浏览上一篇Flash教程:Flash游戏开辟教程:第二节。
在详细解说CLASS机关前,想花点篇幅帮小鸟们了解下CLASS是甚么东东。
仍是来举个例子,有一个机器兵士的MC,这个MC里无机械兵士完全的机关,四肢举动、身材、兵器……
但这个机器兵士仍旧不克不及动,由于它只是一具机器,没有年夜脑程序告知它该怎样走动,怎样打击……
而我们做的“机器兵士把持.as”的CLASS,绑定在这个兵士身上。
这个CLASS能够看做为一个关闭的黑匣子,内里装载了引导机器人举动的程序,包含怎样挪动、怎样打击、怎样办事情A、怎样办事情B。
而这统统都是关闭在黑匣子里的,影响不到外界程序,外接程序也影响不到它。是个自力的器材。
这个黑匣子能够装载就任何一个机器兵士身上,任何一个机器兵士躯体的MC一旦绑定上这个CLASS,就可以当即举动起来。
并且我们能够给这个CLASS做个外界能够挪用的接口。
就像黑匣子上装了个能够给外界摁的按钮,你摁一次它就发一次尽招。
象上一节说的,CLASS形式做游戏能够团队开辟。我可让他人帮我做CLASS,做好我拿来用。我不必要晓得他代码怎样写的,我只必要晓得这个CLASS能让这个机器人依照甚么划定规矩举动,有甚么按钮可让我摁。
封装性的优点由此显现出来了。
再闯关游戏里,常常呈现好比画面上配角一人对N个仇人的局面。这些仇人每一个都能够绑定统一个CLASS。就是说写了一个CLASS分离装载到N个实例化的MC中往,而不必每一个仇人都各自写一段代码。
大概个中两个仇人的性命和打击力分歧。这也很复杂,在CLASS里做一个吸收内部传进性命和打击力两个参数的功效,在仇人MC绑定CLASS后,再传性命和打击力两个变量的值到MC里便可。
不外要申明,CLASS并非只能实例化在MC上,还能够装在比方Object之类的下面。
好比我们很经常使用的一个FLASH原本就有的CLASS:SOUND
mySound=newSound()
mySound.attachSound("a.mp3")
mySound.start(0,1)
这里我们就能够看做Sound类实例化了在mySound的上,而attachSound和start都是Sound类的“按钮”,可让内部操控这个装载了Sound类的mySound。我们其实不晓得Sound这个CLASS外部代码是怎样的,但我们晓得按钮能够用来干甚么,用的也不是很爽吗?
后面说了CLASS的基础使用,大概有鸟鸟们要问了,我做个function一样能够用啊,大概在MC里敲代码,跟你写CLASS一样。
那为何还要写CLASS啊?
那上面我就来写点CLASS的别的个主要的特征-“承继”
先来个小例子:
近邻阿三写了个类“呆板人把持.as”,内里写了多少行的代码,包含“挪动、腾跃”两个个功效。
我如今也想写个类“超等地痞呆板人.as”,内里包含“挪动、腾跃、打击”三个功效。
和阿三写的类对照起来,“挪动、腾跃”两个功效是一样的啦,我想写的类只多了个“打击”功效~
因而能够偷懒了。
在我写的类“超等地痞呆板人.as”第一行加句复杂的代码,就能够把阿三写的类完整COPY过去。(代码语法命令前面的课程会讲的)
然后我的“超等地痞呆板人.as”文件里,内容就只要段写“打击的代码”。
看到这里,鸟鸟们又要问了,为何不间接ctrl+c然后ctrl+v把阿三写的类复制过去,然后在内里加?
[*]他人写的代码,庞大的要逝世,归正我头脑转不外来,不想往剖析他人的器材。剖析他人写的代码,疾苦的来~
[*]往后我再要写个“挪动、腾跃、翻腾”的代码,我不是还要再ctrl+c然后ctrl+v?多贫苦!
[*]倘使我用ctrl+c然后ctrl+v的办法做了,但俄然发明“挪动”功效里有个毛病要改……忧郁吧?你要一个个.as文件改了。而假如是承继的办法做的,你只需让阿三把他写的类修正了,你本人写的两个类就一点不必要修改了,由于“挪动”部分的功效,是间接承继过去的嘛~
说到这里,顺带再提下,FLASH里我们常常也在用类,只是你感到不到。
做游戏用到最多,同时也是FLASH里最主要的类,就是~~~~~~~~~“MovieClip类”!
鸟鸟们不知不觉的就一向在用MovieClip类,好比你有无常常写:mc.onEnterFrame..
onEnterFrame就是MovieClip类里的一个办法,只需是个MC(主动被绑上了MovieClip类),就都能用onEnterFrame。
如今回到第一节说的谁人天上失落宝地下人物接的游戏。
人物有两个:小李和叫人
经由剖析,这两团体物基础把持部分是一样的,然后就区分在两团体的各自的特别妙技纷歧样。
因而我们能够这么做:
[*]先建个“人物基础把持.as”类
[*]建个“小李.as”类,第一行一句代码承继“人物基础把持.as”类,然后在注释内容里写上小李特别妙技
[*]建个“叫人.as”类,第一行一句代码承继“人物基础把持.as”类,然后在注释内容里写上叫人特别妙技
见图:
人人能够看到,“人物基础把持.as”类也是承继了MovieClip类,由于要用到MovieClip类里的功效嘛~好比人物挪动要用到onEnterFrame,MC._x,MC._y这点功效。
类的承继,还能够掩盖承继过去类里的办法。
好比A类有move、jump、attack三个办法
我要写个B类,也包含这三个办法,可是attack这个办法和A类的attack有点分歧,而move、jump这两个办法则和A类里的千篇一律。
因而我们写B类,第一行先写句话承继了A类。然后在注释里把attack办法重写一次,就主动掩盖失落了承继过去的A类的attack办法。别的的办法就不必写了,由于间接承继过去了。
让我们来换个思绪做下面谁人例子。
间接写了“小李.as”类,然后让“叫人.as”类承继小李类,注释里只必要把特别妙技办法重写遍就OK了。
见图:
看了那末多观点,小鸟们要想,咋还不教详细怎样写CLASS呢?
别急啊,下节里会复杂的教些的。
实在我对这类逝世器材教授教养仍是对照头年夜的,鸟鸟们也能够本人网上搜下详细CLASS撰写格局、礼貌和变量、办法范例。一定比我教的要具体。由于我在CLASS方面也只能算只比小鸟稍微胖点点的中鸟啊,哈哈
FlashScreensaversMaker能够迅速的将您的Flash作品转化为屏保程序。 广告本身无法看到网址链接,不利于网站本身的搜索引擎优化,对增加网站排行的权重没有意义。 缺点也必然会会有的,但是不同的产品有不同的缺点吧,比如说flash建站它的速度会比较慢。 FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。 广告本身无法看到网址链接,不利于网站本身的搜索引擎优化,对增加网站排行的权重没有意义。 考虑到实际的效果,这些专业的网站并不会去单纯追求技术本身,广告设计是否FLASH不是目的,关键是获得最好的宣传效果。 FLASH广告的问题主要表现在: Flash流行的主要原因是它使用了矢量图形(与位图相反)。因为这种图形格式比位图小得多,而且在缩放时对图形质量影响不大,所以很适合对带宽要求很高的Web。 FLASH的优点~你用眼睛所看到的东西~都能用它来实现~一点不夸张~高楼大厦-花草树木-高山流水-天空白云-阿猫阿狗-一切活的东西都可以容入到FLASH里面
页:
[1]