欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Flash入门必备Flash开发AS代码之游戏制作过程例子文档格式.docx

    • 资源ID:22860374       资源大小:427.13KB        全文页数:27页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Flash入门必备Flash开发AS代码之游戏制作过程例子文档格式.docx

    1、;2,导弹Missle ;3,生命球AddLife游戏的元素比较简单,下面分别加以分析并设计它们;(在你的磁盘中新建一个flash文档,重命名为”死里逃生.fla”,在该flash文档的同一目录下新建一个文件夹,重命名为“classes”;如下图:)1.飞机应该有的属性:速度speed;生命:life;他还应该能跟随鼠标移动;具体做法如下,新建一个ActionScript文件,代码如下:将上面的actionscript文件保存在classes文件夹中,文件命名为Plan.as ,注意,文件名一点要与类名相同;2,导弹应该有的属性和方法:角速度:omega,速度:speed,导弹还要求能跟踪飞机

    2、。代码如下:将上面的as文件也保存在classes文件夹中,并把该as文件命名为Missle.as注:这些代码有些复杂,希望大家仔细看,理解了就好了。在实现跟踪飞机这一代码块(即onTimerHandler函数),希望大家仔细把flash的坐标系统和Math的三角函数这些知识温习一下。在这里我不太想讲像if语句,swich语句,while,do。while。语句,基本的表达式那些基本的内容,相信学过C的人都会这些的。关于面向对象的一些核心内容:类,属性,方法,接口,继承,多态。我也不想讲,也不能讲,因为我不想误人子弟,我也只是了解这些知识,希望想了解的同学去看看有关java或c+的教程。那下面

    3、接着第三个类:3,生命球应该有的属性和方法:所含的生命值,也就是能给主角加多少生命lifeValue;所显示的时间,也就是生命球能在舞台上显示多久timed;将上面的as文件也保存在classes文件夹中,并把该as文件命名为AddLife.as;5,有关元素的类文件都写好了,就差一个文档类了,有关文档类的代码我们稍后再说,上面我们一直是写代码,现在我们来搭建主场景:打开你新建的“死里逃生。fla”文档,如下图搭建场景:前面是元素的类型,后面是文件的实例名。“重新开始”按钮下面还覆盖了一个“开始”按钮,实例名为“start_btn”。6:类库的组成:上图只显示出了与类库连接的原件;分别与我们上

    4、面写的类连接在一起;库中还有声音文件,是个爆炸的声音,这个声音的连接属性设置为:与“死里逃生.fla”文档在同一目录下的还有一个背景音乐,背景音乐的名字为:mySong.mp3;注意文件名一定要是mySong.mp3,因为在下面的代码中我用的是这个名字;7:最后我们来写文档类,把整个的代码和元件组织起来。文档类的代码:(此文件比较的繁琐,import语句可以简写,如:import.flash.display.*;import flash.display.event.*;在这里没有采用简写,好让大家方便查阅API);至此:整个游戏的制作就结束了。结束的目录结构应该如下:Classes文件夹里的文

    5、件如下:将上面的as文件也保存在classes文件夹中,并把该as文件命名为Test.as;然后在“死里逃生.fla”文档的文档类后面的方框中填入:classes.Test修正:在Test类中的第63和第64之间加入如下语句:if (myPlan.life 新建ActionScript文件。写下代码如下:package classes import flash.display.MovieClip; public class Circle extends MovieClip private var speed:int; public function Circle() speed=5; publ

    6、ic function moveLeft():void this.x+=speed; public function moveRight(): this.x-=speed; public function moveUp(): this.y-=speed; public function moveDown(): this.y+=speed; 将这个as文件保存在“classes”文件夹中,保存名为“Circle.as”;c : 再点击“键盘控制_1.fla”文档的文件菜单 import flash.events.KeyboardEvent; import flash.ui.Keyboard; p

    7、ublic class Test extends MovieClip private var myCircle:Circle; public function Test() myCircle=new Circle(); myCircle.x=400; myCircle.y=300; addChild(myCircle); stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDownHandler); private function onKeyDownHandler(e:KeyboardEvent): switch (e.keyCode) ca

    8、se Keyboard.LEFT : myCircle.moveLeft(); break; case Keyboard.RIGHT : myCircle.moveRight(); case Keyboard.UP : myCircle.moveUp(); case Keyboard.DOWN : myCircle.moveDown(); if (myCircle.x800-myCircle.width/2) myCircle.x=800-myCircle.width/2; else if (myCircle.x600-myCircle.height/2) myCircle.y=600-myC

    9、ircle.height/2; else if (myCircle.y import flash.events.MouseEvent; import flash.ui.Mouse; public class Test extends MovieClip public function Test() stage.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMoveHandler); private function onMouseMoveHandler(e:MouseEvent):void Mouse.hide(); myCircle.x=e.st

    10、ageX; myCircle.y=e.stageY;d: 点击“鼠标控制_1.fla”文档舞台的空白区,在属性栏中的文档类中填写:测试影片,圆能随着鼠标移动;直接从库中将被控对象拖入舞台(键盘控制);在您的计算机磁盘中新建一个fla文档,重命名为“键盘控制_2.fla”在这个文档的同一目录新建一个文件夹,重命名为“classes”;双击打开“键盘控制_2.fla”文档。建好影片剪辑之后,(不要删掉舞台上主角圆的实例)这时库中有刚刚建立的影片剪辑元件而库中同时有它的实例;点击“键盘控制_2.fla”文档的文件菜单 import flash.display.Stage; this.stage.ad

    11、dEventListener(KeyboardEvent.KEY_DOWN,onKeyDownHandler); moveLeft(); moveRight(); moveUp(); moveDown(); default : private function moveLeft(): this,x-=speed; private function moveRight(): private function moveUp(): private function moveDown():注意这句:this.stage.addEventListener();舞台中有this的实例时,才能调用this的

    12、stage属性,否则会报错的。c :切换到“键盘控制_2.fla”文档,在库中的影片剪辑“主角圆”上点击鼠标右键,在弹出的菜单中选择“链接”,之后在弹出的对话框中如下图填写相关的项目:测试影片,方向键能控制主角圆的移动;这里就不再啰嗦写”鼠标控制_2.fla”了。相信大家早以多我的啰嗦忍无可忍了。O(_)o总结一下:键盘控制和鼠标控制都需要用stage.addEventListener(,.);文档类可以直接用stage属性,而非文档类要用这个类的实例的stage属性(即this.stage),就要求事先有实例放在舞台上;(纯属个人总结,正确与否只是本人认证了一下,没有任何官方的说明。您认这种

    13、说法错误,可直接略过这段,不要被我误导了。二物件的创建与销毁物件的创建和销毁比较简单的,大体来说就是在文档类中采用new关键字创建新的对象,然后用addChild()/addChilaAt()加入到容器,当不需要的时候用removeChild()/removeChildAt()从容器中把它删除;当成批产生物件时,for循环结合数组能很好的解决问题。看个实例先,(申明:这个实例来自风云II系列丛书之Flash cs3 ActionScript 3.0游戏开发基础与范例,版权都属原作者所有)这里本人不篡改原作,只做个搬运工。(1)首先,启动flash cs3;(2)选择 文件新建 菜单命令,选择新

    14、建一个ActionScript 3.0文档;(3)保存这个fla文件为Sample7_5.fla;(4)给主场景添加一个背景。修改主场景的帧频为30fps,填写文档类为objclasses。ObjSample,如下图所示;(5)创建一个金币的影片剪辑,保存到库中,在库中选择它,修改它的连接属性为外部类objclasses.Obj,如下图所示,这个金币将是这个例子中动态创建和删除的对象。(6)在fla文件存在的目录下创建objclasses文件夹;(7)在objclasses文件夹中创建Obj.as和ObjSample.as两个as 文件(8)编写如下代码清单Obj.as所示的代码:packag

    15、e objclasses import flash.events.Event; / 对象类 public class Obj extends MovieClip / 速度属性Number; function Obj(): speed = 0; this.addEventListener(Event.ENTER_FRAME, onFrameHandler); / 在ENTER_FRAME的响应函数中随机产生一个速度 / 并使对象按照这个速度向下移动 private function onFrameHandler(event:Event): speed = Math.floor(Math.rand

    16、om() * 3) + 1; this.y += speed;(9)编写代码清单ObjSample.as所示的代码: import flash.utils.Timer; import flash.events.TimerEvent; / 对象例子的类 public class ObjSample2 extends MovieClip / 声明一个1秒间隔的Timer实例 private var mytimer:Timer = new Timer(1000); / 声明一个存储对象的数组 private var arrObj:Array = new Array(); / 构造函数中添加TIMER

    17、事件,并启动该计时器 function ObjSample2(): mytimer.addEventListener(TimerEvent.TIMER, onTimerHandler); mytimer.start(); / TIMER事件响应函数 / 每秒创建一个新对象,X坐标随机产生 private function onTimerHandler(event:TimerEvent): var obj:Obj = new Obj(); obj.x = Math.floor(Math.random() * 500) + 25; obj.y = 0; addChild(obj); / 添加到对象数组中 arrObj.push(obj); / 消除Y坐标大于200的对象 for(var i:int=0; i 200) / 从场景中消除 removeChild(arrObji); / 从数组中消除 arrObj.splice(i,1); 测试影片可能很多地方没有说清楚。欢迎批评指教。


    注意事项

    本文(Flash入门必备Flash开发AS代码之游戏制作过程例子文档格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开