开发flash网页游戏的一些心得-flash-电脑编程网开发flash网页游戏的一些心得作者:陈新杰 和相关&&
1.显示 ? 一个游戏离不开显示,AS3已经为开发者提供了一个比较完整的2D显示引擎了。学习这个部分,学习显示列表,学习DisplayObject和DisplayObjectContainer的区别,学习Shape, Sprite, MovieClip, Bitmap这些基本可显示对象的区别。 2.鼠标输入 ? 交互就离不开用户输入的处理,鼠标是游戏中最常用的输入设备。需要知道只有继承自InteractiveObject的对象才能接收鼠标消息。还要学习如何使用鼠标拖拽,如何判定鼠标消息产生的目标,如何启用,禁用鼠标消息。鼠标坐标的全局和局部的转换。 3.键盘输入 ? 键盘除了标准UI组件内部会用到,游戏的快捷键等功能也需要用到。 4.位图 ? 作为游戏开发,可能不是所有的美术素材都是在开发阶段就固定的,或多或少需要在游戏过程中对图形进行一些变换处理。因此需要熟练掌握Bitmap和BitmapData对象。 5.层 ? 作为MMORPG游戏,不同可视对象之间是有层次关系的。不同层的关系是固定的,比如地面层,人物层,UI层。同一层上的物体重叠时,需要通过修改在显示列表中的相对位置来调整上下关系。 6.UI组件 ? 按钮,输入框,文本框,下拉框,列表,表格。这些在游戏中都少不了。为了游戏画面的美观和风格一致,通常都需要修改标准组件的皮肤,才能应用到游戏中。 7.资源加载 ? 大家都知道,传统客户端MMORPG游戏,动辄几百M上G的尺寸,大部分都是媒体资源,我们不可能把这些资源都打到一个SWF文件中,因此需要根据资源的重要程度来决定加载策略。最常用最基本的,程序启动时加载;其他的,可以在游戏过程中动态加载。 8.事件机制 ? 作为新人,或多或少都会用到addEventListener方法。作为大型系统开发者,一定要知道这个方法背后的IEventDispatcher接口和EventDipatcher类。使用事件机制进行开发,一方面为了降低代码之间的耦合,另外也是方便了多人协作开发。 9.远程通讯 ? 作为MMORPG的通讯方案,需要考虑效率和安全性。由于端我们很熟悉Java的Socket开发,而且看到了AS3的Socket类,于是毫不犹豫的选择了使用私有协议的通讯方式。作为MMORPG,基于HTTP的协议效率肯定比直接基于TCP的二进制协议低。另外,基于HTTP方式,不太适用于向客户端推消息的情景。AS3的其它通讯方式我了解的不太清楚,不知道是否有在灵活性,安全性,性能方面超越Socket方案的。 10.性能优化 ? 作为商业游戏,需要考虑到玩家环境的千差万别,因此系统的很多效果都需要有参数可以控制,使得程序能流畅的运行于玩家的机器上。作为Flash网游,需要考虑客户端的内存占用和CPU使用,需要考虑服务器的流量和客户端到服务器的带宽。 11.多线程 ? 首先,Flash没有多线程,是一个单线程,如果有时候需要实现类似开一个线程进行耗时的复杂计算时,可以将这个计算封装成一个类,提供一个step方法,每掉用一次step,执行若干步计算,手工为代码分配时间片。用这种方法来模拟多线程。 12.高级知识(js/jsfl/swf格式/加扰/虚拟机运行机制) ? 作为一款产品,在开发过程中还有很多细节需要考虑。 ? 比如使用ExternalInterface与JS通讯。Web游戏,离不开网页的,偶尔还是会与网页有些交互的。 ? 使用JSFL批量生成或者处理Fla项目文件。游戏中大量的资源的格式是类似的,如果完全由人工,需要大量重复劳动。幸好Flash提供了JSFL的扩展,帮我们节约了大量的人工。 ? 对SWF格式的理解。有些工作,由于JSFL的可编程性比较差,无法完美实现,我们还编写程序直接对SWF文件进行操作。曾经有一个需求,需要四个人花一周时间才能搞定,而且还很容易出错,后来写了JSFL脚本,外加编程直接处理SWF,每次进行类似的工作,只需要一个人几分钟人工,程序跑1个小时就搞定了。 ? 商业产品发布时,还是要代码加扰的。现在反编译先锋Sothink4/ASV6已经问世,但是AS3加扰的工作还远远落后于反编译的步伐。我们这些Flash开发人员很着急呀。 13.算法
?算法对于游戏开发还是很有用的。有时候是效率的提升,有时可能是01的区别。
相关资料:|||||||开发flash网页游戏的一些心得来源网络,如有侵权请告知,即处理!编程Tags: & Flash游戏制作的入门书 有源码有游戏的实例 适合flash新手参考
发布时间: 19:42
是Flash游戏编程基础教程,想我一样的新人可以用来入门,感觉不错的。跟着书里的实例一边照着做一边学OwO。
那么不说废话啦上网盘:/s/1jGxjyNs
压缩文件里有源码。有一些算是游戏的实例。OvO我刚看完还没想好做什么游戏啦。
《Flash 游戏编程基础教程》是Flash游戏设计方面的入门级图书。全书共包括5个完整的游戏项目。作者循序渐进地讲解了游戏设计步骤、游戏设计技巧、游戏设计过 程中遇到的问题及其解决方案,一步步引领你进入Flash游戏设计的殿堂。通过《Flash游戏编程基础教程》的学习,你将掌握Flash中的基础知识, 如图层、帧、元件、实例、影片剪辑、库面板、属性面板、各种绘图工具及其使用技巧;你将学会AS3.0编程技术和技巧,例如如何利用Flash和 AS3.0制作交互式游戏、平台类游戏,学会面向对象的游戏设计技术,了解AS3.0程序设计的所有相关内容。
《Flash游戏编程基础教程》适合Flash游戏设计初学者学习。
第1章 编程基础:如何制作视频游戏 1
1.1 所需基本软硬件配置 1
1.2 需要知道的内容 2
1.3 不必知道的内容 2
1.4 一切不过是编程而已 2
1.4.1 编程? 但是我数学学得不好 3
1.4.2 我已经知道怎么编程了 4
1.4.3 我能做出什么样的游戏 4
1.4.4 学习一些新术语 4
1.5 打好地基 5
1.5.1 需要的文件 5
1.5.2 设置工作环境 6
1.5.3 设置Flash开发人员工作区 7
1.5.4 设置ActionScript代码格式首选参数 7
1.6 编写你的第一个程序 8
1.6.1 开始编程 8
1.6.2 不要忽略类 9
1.6.3 使用构造函数 11
1.6.4 对齐代码 12
1.6.5 你的指令是什么 13
1.6.6 导入并扩展MovieClip类 14
1.6.7 为代码添加注释 17
1.7 发布SWF文件 18
1.8 项目面板 21
1.9 AS3.0与Flash Player的更多内容 22
1.10 命名规范 23
1.11 小结 24
第2章 创建对象 25
2.1 理解交互对象 25
2.1.1 设置工作环境 26
2.1.2 创建故事书的第一页 28
2.2 绘制第一个页面 30
2.2.1 绘制背景 30
2.2.2 组织图层与时间轴 33
2.2.3 绘制前景对象 35
2.2.4 将对象组合到一起 42
2.2.5 加上几朵云 43
2.2.6 添上几朵花 45
2.2.7 再学习一些技术 47
2.3 创建角色 49
2.4 使用按钮 52
2.4.1 创建按钮元件 53
2.4.2 理解按钮状态 56
2.4.3 创建指针经过状态 57
2.4.4 创建按下状态 58
2.4.5 复制按钮 59
2.4.6 库的组织 60
2.4.7 在场景中加入按钮 61
2.5 小结 61
第3章 为对象编写程序 63
3.1 显示故事书的第一页 63
3.2 对按钮进行编程 71
3.2.1 使用点标记法 71
3.2.2 如何调用方法 73
3.3 事件与事件侦听器 79
3.4 对故事书按钮进行编程 84
3.4.1 onHillButtonClick事件处理函数 87
3.4.2 使用onPondButtonClick事件处理函数 87
3.4.3 添加后退按钮 88
3.4.4 要知道何时使用这种模式 90
3.5 小结 91
第4章 控制影片剪辑对象 92
4.1 影片剪辑属性 92
4.1.1 设置项目文件 94
4.1.2 上下移动小猫 94
4.1.3 对象的x坐标与y坐标 98
4.1.4 递增移动 98
4.1.5 调整影片剪辑对象的大小 105
4.1.6 隐藏影片剪辑对象 110
4.1.7 猫眼看世界 113
4.2 控制影片剪辑的时间轴 117
4.3 小结 128
第5章 游戏逻辑判断 129
5.1 设置项目文件 129
5.2 设计GUI 131
5.2.1 输入/输出 133
5.2.2 添加文本字段 133
5.3 创建一个简单的猜谜游戏 137
5.4 变量知识扩展 139
5.5 逻辑判断 144
5.5.1 显示游戏状态 148
5.5.2 游戏胜负 155
5.5.3 使用方法模块化程序 160
5.6 完善游戏 161
5.6.1 解决随机数字 161
5.6.2 禁用Guess按钮 164
5.6.3 游戏重玩 166
5.6.4 最终程序代码 168
5.7 进一步分析 170
5.7.1 记录猜过的数字 171
5.7.2 添加视觉显示 171
5.7.3 使用回车键输入数字 171
5.7.4 对调游戏逻辑 173
5.8 小结 174
第6章 控制游戏角色 175
6.1 设置项目文件 175
6.2 用键盘控制游戏角色 176
6.2.1 键盘控制对象的错误方法 176
6.2.2 键盘控制对象的正确方法 182
6.3 设置舞台边界 189
6.3.1 在舞台边界阻止移动 190
6.3.2 创建更好的猪圈 191
6.3.3 屏幕折返 195
6.4 卷屏 196
6.4.1 创建游戏环境 197
6.4.2 调优游戏角色 198
6.4.3 卷屏基础 199
6.4.4 优化卷屏 201
6.4.5 完善卷动 206
6.5 知识拓展 209
6.6 小结 210
第7章 碰撞检测 211
7.1 创建项目文件 211
7.2 哎呀,撞上了 214
7.3 改变动态文本字段 215
7.4 状态改变的触发 216
7.5 减少生命槽的值 218
7.6 更新分数 223
7.7 拾取及掉落物体 229
7.8 hitTestObject的缺点 235
7.8.1 检测与对象边框的碰撞 235
7.8.2 试着容忍它 237
7.8.3 建立一个子对象 237
7.9 使用hitTestPoint 239
7.10 建立障碍物体 247
7.11 基于轴的碰撞检测 250
7.12 小结 261
第8章 面向对象的游戏设计 262
8.1 面向对象编程简介 262
8.1.1 如何将类绑定到元件上 263
8.1.2 使用属性和方法 263
8.1.3 私有属性和方法 264
8.1.4 如何在类之间利用取值方法和赋值方法来进行通信 266
8.1.5 开始学习面向对象技术 270
8.2 实例练习:地牢迷宫大冒险 270
8.2.1 构建游戏 271
8.2.2 准备项目文件及场景物体 272
8.2.3 进入地牢 272
8.2.4 游戏关卡布局 274
8.2.5 游戏中的对象 274
8.2.6 制作时间轴动画 276
8.2.7 为对象制作动画 277
8.2.8 在舞台上添加或移除对象 281
8.2.9 地牢迷宫大冒险的工作原理 285
8.3 DungeonOne_Manager类 287
8.3.1 移动游戏角色 290
8.3.2 捡起钥匙 293
8.3.3 打开第一扇门 294
8.3.4 添加声音到游戏中 298
8.3.5 创建Sound和SoundChannel对象 299
8.3.6 与敌人发生碰撞 300
8.3.7 游戏失败 301
8.3.8 捡起星形武器 302
8.3.9 发射子弹 304
8.3.10 使用子弹对象 305
8.3.11 子弹与敌人的碰撞 307
8.3.12 游戏角色与墙壁的碰撞 309
8.3.13 同步ENTER_FRAME事件 311
8.3.14 游戏获胜 312
8.4 改进游戏 313
8.4.1 添加一个新的关卡 313
8.4.2 创建一个游戏管理器 315
8.5 从舞台中移除对象 322
8.6 小结 324
第9章 平台游戏:游戏中的物理学及数据管理 325
9.1 模拟真实的运动 325
9.1.1 建立项目文件 326
9.1.2 加速度 327
9.1.3 摩擦力 333
9.1.4 反弹 335
9.1.5 重力 337
9.1.6 跳跃 339
9.2 实例学习:捉虫者 342
9.2.1 建立项目文件 343
9.2.2 使用Player_Platform类 344
9.2.3 添加平台 350
9.2.4 平台上的碰撞检测 352
9.2.5 使用循环 355
9.2.6 使用循环访问平台对象 358
9.2.7 子对象的全局x和y坐标 359
9.2.8 转向一个对象 363
9.2.9 让青蛙的眼睛转向游戏角色 365
9.2.10 改变堆叠层次 366
9.2.11 在代码中添加一些小虫&&真正的小飞虫 369
9.2.12 使用数组 376
9.2.13 收集小虫 381
9.2.14 完整的Main_BugCatcher类 386
9.3 新的Collision.playerAndPlatform实用程序 390
9.4 小结 397
第10章 高级对象和角色控制 398
10.1 拖放对象 398
10.1.1 面向过程方式的拖放 399
10.1.2 面向对象方式的拖曳 406
10.1.3 继承的替代品:复合 411
10.2 通过鼠标来移动对象 413
10.2.1 让一个对象移到鼠标所在位置 414
10.2.2 添加动态滤镜 416
10.2.3 在对象运动中使用缓动 418
10.2.4 延迟鼠标跟随 420
10.3 高级缓动 422
10.3.1 Tween类的属性和方法 423
10.3.2 easing包和方法 425
10.3.3 Tween 事件 427
10.3.4 缓动到随机位置并计算速度 428
10.4 实例练习:复杂的鼠标角色控制 434
10.4.1 Player.as 434
10.4.2 移动游戏角色 437
10.4.3 旋转魔杖 439
10.4.4 360&开火 439
10.4.5 Bullet.as 442
10.5 对象工厂 449
10.5.1 产品类 449
10.5.2 工厂类 450
10.5.3 客户端类 451
10.6 敌人的人工智能系统 453
10.6.1 跟随游戏角色 453
10.6.2 从游戏角色旁逃走 456
10.6.3 瞄准并朝游戏角色开火 457
10.7 使用其他的角色控制系统 462
10.8 发送事件 463
10.9 实例:太空射击 465
10.9.1 游戏结构 466
10.9.2 创建子弹 467
10.9.3 检测子弹与对象间的碰撞 468
10.9.4 在舞台边界移除子弹 471
10.9.5 类与事件 472
10.10 小结 472
相关文章推荐【图文】Flash游戏编程之关卡设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
Flash游戏编程之关卡设计
上传于||暂无简介
大小:696.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢