FlashCS3游戏开发实例教程(2)
private 这个关键字之后的定义是完全私有的,只能被类自己访问。比如,你银行的密码只有你自己知道,所以他是private的。
protected 这个关键字之后的定义,是私有的,但家族成员可以访问。比如,你儿子知道你屁股上有一颗痣,其他人不知道。。。笑,所以这个痣是
protected的
override 覆盖父级类的定义
set 在上例代码中,可以通过某actionObject.direction这样来访问这个函数,而不是.direction(),和它类似的还有get关键字。你可以用他们来生成一个只读或只写的“变量”
现在,“亚当的儿子”可以行走了。但是,我们不知道怎样才能通知他走,怎样走。我们必须有一个控制他的方法,让他来听从我们的指挥。因为,我们必须创建一个控制器来控制它。在这之前,我们要学习一些操作这个世界的方法和技巧(上帝也需要学习么,呵呵)
首先,我们必须能在任何的地方都可以访问到主场景的FLASH舞台(Stage,你可以把他理解成我们在FLASH CS里可以看到的那个白白的工作区,呵呵).这样方便我们的操作。刚才我们说过,不管任何一个包,都可以访问到默认包里的东西。因此,我们在默认包里建立一个全局都可以访问的类Global,并用它来存放一些需要全局调用的东西: 1. package
2. {
3. import flash.display.Stage;
4. /**
5. * 全局通用类
6. * @author D5Power
7. */
8. public class Global
9. {
10. /**
11. * 直接调用FLASH舞台
12. */
13. public static var stage:Stage;
FlashCS3游戏开发实例教程作者:D5Power 整理:极光 № MJ第一篇 响应键盘移动的方块。。。
14. public function Global()
15. {
16. }
17. }
18. }
之后,我们来创建控制器。在D5Power/下面新建一个目录Controller,用来存放控制器。和gameObject的结构一样,我们也建立一个最基础的控制器(basicController),其他控制器由它来衍生: 1. package D5Power.Controller
2. {
3. /**
4. * 基础控制器
5. * @author D5Power
6. */
7. public class basicController
8. {
9. /**
10. * 控制对象
11. */
12. protected var _target:gameObject;
13.
14. public function basicController()
15. {
16.
17. }
18. /**
19. * 设置控制对象
20. */
21. public function set target(obj:gameObject):void
22. {
23. _target = obj;
FlashCS3游戏开发实例教程作者:D5Power 整理:极光 № MJ第一篇 响应键盘移动的方块。。。
24. }
25. /**
26. * 消亡
27. */
28. public function die():void{}
29. }
30.
31. }
之后,再来创建专门针对键盘控制的控制器KeyController,当然,继承自basicController: 1. package D5Power.Controller
2. {
3. import D5Power.Objects.ActionObject;
4. import D5Power.Objects.gameObject;
5. import flash.events.KeyboardEvent;
6. /**
7. * 键盘控制器
8. * @author D5Power
9. */
10. public class KeyController extends basicController
11. {
12.
13.
14. public function KeyController()
15. {
16. super();
17. setupListener();
18. }
19. /**
20. * 安装侦听器
21. */
FlashCS3游戏开发实例教程作者:D5Power 整理:极光 № MJ第一篇 响应键盘移动的方块。。。
22. public function setupListener():void
23. {
24. Global.stage.addEventListener(KeyboardEvent.KEY_DOWN,
onKeyDown);
25. Global.stage.addEventListener(KeyboardEvent.KEY_UP,
onKeyUp);
26. }
27. /**
28. * 消亡
29. */
30. override public function die():void
31. {
32. Global.stage.removeEventListener(KeyboardEvent.KEY_DOWN,
onKeyDown);
33. Global.stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp);
34. }
35. /**
36. * 当按键按下时触发
37. * @param e
38. */
39. protected function onKeyDown(e:KeyboardEvent):void
40. {
41. var me:ActionObject = _target as ActionObject;
42. switch(e.keyCode)
43. {
44. case 38:
45. me.direction = ActionObject.UP;
46. break;
47. case 40:
48. me.direction = ActionObject.DOWN;
49. break;
50. case 37:
FlashCS3游戏开发实例教程作者:D5Power 整理:极光 № MJ第一篇 响应键盘移动的方块。。。
51. me.direction = ActionObject.LEFT;
52. break;
53. case 39:
54. me.direction = ActionObject.RIGHT;
55. break;
56. default:break;
57. }
58. }
59.
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




