射击类手机游戏的研究与设计毕业论文(编辑修改稿)内容摘要:
频的路径等。 WinActivity 通关界面的定义类,定义了通关界面的参数,以及界面底部的返回主菜单按钮的操作等。 WinView 通关界面布局文件,定义了界面的布局,以及背景图片、背景音乐等。 界面类表示着在游戏中出现的各个界面,其中也定义了各个实体在游戏界面中的显示方法。 界面类在 MVC 架构中充当着 view 层。 工具类 包 表 34 工具类 DButil 连接数据库的工具类,定义了连接数据库的方法,以及游戏中需要用到的一些数据库的操作等。 RamCheck 碰撞检测的工具类,定义了两个矩形是否碰撞到的方南京工程学院毕业设计说明书(论文) 17 法。 工具类表示着在游戏中一些公用方法的类,单独提取出来便于代码的复用。 程序结构 程序的类文件 图 33 程序类文件 南京工程学院毕业设计说明书(论文) 18 程序的图片资源文件 南京工程学院毕业设计说明书(论文) 19 图 34 程序图片资源文件 南京工程学院毕业设计说明书(论文) 20 图 35 程序图片资源 文件 南京工程学院毕业设计说明书(论文) 21 程序的音频资源文件 图 36 程序音频资源文 南京工程学院毕业设计说明书(论文) 22 如图所示,本程序运行在我的手机的 环境下 图 37 关于手机界面 南京工程学院毕业设计说明书(论文) 23 片头动画实现 设计方法和代码 欢迎动画界面有一个点击检测事件,点击屏幕任意处跳过片头动画进入菜单选择界面。 图 38 片头动画 以下为主要代码:(具体作用已注释) public class VideoActivity extends Activity implements { String path = /sdcard/plane/。 //定义视频在手机里的路径 SurfaceHolder surfaceHolder。 //surface的抽象接口 MediaPlayer mediaPlayer。 //音频,视频播放对象 SurfaceView surfaceView。 //surfaceView绘图容器 int i = 1。 public void onCreate(Bundle savedInstanceState) { requestWindowFeature()。 getWindow().setFlags(, )。 //实现全屏 (savedInstanceState)。 //调用父类的 onCreate方法 setContentView()。 //调用 XML的布局文件 surfaceView = (SurfaceView) findViewById()。 //获得xml文件里的 surfaceView的对象 surfaceHolder = ()。 //SurfaceHolder接口来访Surface (this)。 //添加回调 mediaPlayer = new MediaPlayer()。 //实例化 mediaPlayer (new (){ 南京工程学院毕业设计说明书(论文) 24 @Override public void onCompletion(MediaPlayer mediaPlayer) { Intent intent = new Intent(, )。 //封装跳转 startActivity(intent)。 //跳转 ()。 //结束当前界面 } })。 }//检测视频播放完成 @Override public boolean onTouchEvent(MotionEvent event) { if (() == 1) { Intent intent = new Intent(, )。 startActivity(intent)。 ()。 } return (event)。 }//触摸事件 private void playVideo(String strPath) {// 自定义播放影片函数 ()。 (surfaceHolder)。 // 设置 Video影片以SurfaceHolder播放 try { (strPath)。 //设置视频路径 ()。 //视频准备缓冲 } catch (Exception e) { ()。 } if (!() amp。 amp。 i == 1) { ()。 //视频开始播放 i++。 } } public void surfaceCreated(SurfaceHolder arg0) { playVideo(path)。 //界面生成的时候开始播放 } ...... 南京工程学院毕业设计说明书(论文) 25 主菜单界面 设计方法和代码 主菜单界面有一个动态的飞机效果,下方有四个按钮,分别为,开始游戏,声音开关(当前为开启,则显示关闭声音,反之则相反 ),排行榜按钮,道具商店。 以下为主要代码:(具体作用已注释) public class IndexActivity extends Activity { public static boolean voice = true。 //声音开启 public static int money。 //总金钱数 public static int supernum。 //超级子弹的数量 public static int planelevel。 //飞机等级 public static int bulletlevel。 //子弹等级 public static int level = 1。 //关卡等级 public static int maxlevel = 1。 //已通过最大关卡数 public static int btnpressed_soundid。 //按钮按下的提示音 public static SoundPool mSoundPool。 //声音的 pool public static Vibrator vibrator。 //振动器 public static int score = 0。 //总积分初始为 0 private IndexView indexView。 private int i = 1, x = 0, y = 0。 public DButil dbUtil = null。 //实例化数据库连接对象 南京工程学院毕业设计说明书(论文) 26 图 39 主菜单 @Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 dbUtil = new DButil(this)。 Cursor cursor = ()。 //获得游标 vibrator = (Vibrator)getSystemService()。 //获得振动器 需在 中配置 while (()) { //游标指针指向下一个 maxlevel = ((maxlevel))。 int sound = ((sound))。 if (sound == 1) { voice = false。 //sound在数据库中 0表示开启 1表示关闭 i = 0。 } else { voice = true。 i = 1。 } money = ((money))。 supernum = ((supernum))。 planelevel = ((planelevel))。 南京工程学院毕业设计说明书(论文) 27 bulletlevel = ((bulletlevel))。 } ()。 //关闭连接 indexView = new IndexView(this)。 mSoundPool = new SoundPool(2, , 100)。 btnpressed_soundid = (this, , 0)。 requestWindowFeature()。 getWindow().setFlags(, )。 //全屏 setContentView(indexView)。 } @Override public boolean onTouchEvent(MotionEvent event) { if (() == 1) {//指代触摸离开时 x = (int) ()。 y = (int) ()。 //获得离开时的坐标 // 开始游戏 if (x = amp。 amp。 x = + () amp。 amp。 y = 650 amp。 amp。 y = 650 + ()) {//如果坐标在开始游戏的按钮内 if () { (btnpressed_soundid, 1, 1, 0, 0, 1)。 //播放按下的提示音 } Intent intent = new Intent(, )。 //封装跳转到游戏界面 startActivity(intent)。 //发起跳转 ()。 //关闭当前界面 } // 声音开关 if (x = amp。 amp。 x = + () amp。 amp。 y = 800 amp。 amp。 y = 800 + ()) {//坐标在声音开关按钮上 i++。 if (i % 2 == 0) { = ( (), )。 = false。 南京工程学院毕业设计说明书(论文) 28 (1)。 //关闭数据库中的 sound为 1 关闭 ()。 //暂停背景声音 } else { = ( (), )。 (btnpressed_soundid, 1, 1, 0, 0, 1)。 = true。 (0)。 //开启数据库中的 sound为 0 开启 ()。 //开启声音 } } // 排行榜 if (x = amp。 amp。 x = + () amp。 amp。 y = 950 amp。 amp。 y = 950 + ()) {//坐标在排行榜上 if () { (btnpressed_soundid, 1, 1, 0, 0, 1)。 } Intent intent = new Intent(, )。 startActivity(intent)。 ()。 } // 道具商店 if (x = amp。 amp。 x = + () amp。 amp。 y = 1100 amp。 amp。 y = 1100 + ()) {//坐标在道具商店上 if () { (btnpressed_soundid, 1, 1, 0, 0, 1)。 } Intent intent = new Intent(, )。 startActivity(intent)。 ()。 } } return (event)。 } } 南京工程学院毕业设计说明书(论文) 29 开始游戏界面 设计方法和代码 本游戏采用的是 2D 图像呈现技术,而且表现形式为纵向的滚屏游戏,且在贴图时采用多层贴图,增加游戏界面的层次感。 选择开始游戏,在运 行的时候,开始游戏就会自动初始化 GameView 开始运行游戏。 在运行之前,先进入关卡选择界面,选择好后,进入对应的关卡界面,加载游戏场景各种图片。 运行效果如下: 图 310 开始游戏 public class GameView1 extends SurfaceView implements , Runnable { public static int bossTime = 10。 //当消灭掉此数量的敌机时出现 boss public static boolean choiceSuccess = false。 //标记是否处于过关后。射击类手机游戏的研究与设计毕业论文(编辑修改稿)
相关推荐
设备和材料采购过程与工程施工衔接力度; 密切配合业主进行设备、材料的交接和检验工作。 积极配合业主进行工程修改、方案确定、技术论证,从业主要角度出发,提出材料代用建议,并做合理的经济分析,直到业主满意为止,同时绝不借故小修小改拖延工期。 一旦工程控制点工期发生紧张,我公司将积极组织人员进场并实行加班、加点或二班工作制,确保工程按期 竣工; 工程施工中,每时每刻我们都将站在业主的立场上
仅可以节约成本,而且还可以提高经济效益,提高生产效率。 电能是现代文明的物质技术基础,没有了电能,就没有可能实现现代化进程。 现代社会的各个方面都是建立在电气化的基础之上,一旦电力系统出现问题或停止工作,将会给用 电用户带来严重的影响,甚至造成伤害。 因此做好工厂供配电系统的设计,显得尤为重要。 本论文是关于某个 塑料 工厂在提供相关资料的情况下,通过正确的计算,设计出合理的变配电所
信息的安全和各种应用系统的安全,在规划时就要为局域网考虑一个周全的安全保密方案。 娄底职业技术学院计算机网络技术专业毕业论文 5 第 2 章 小型企业安全分析 小型企业网络安全分析 局域网由于通过交换机和服务器连接网内每一台电脑,因此局域网内信息的传输速率比较高,同时局域网采用的技术比较简单,安全措施较少,同样也给病毒传播提供了有 效的通道和数据信息的安全埋下了隐患。
本最少,其次是方案四,再次是方案三,最差是方案二。 ( 2) 运行成本:用公摊面积(建筑面积减去住宿面积)与物业指数(水电费、工作人员工资等)的乘积作为量化标准,即运行成本为: ()S S c2住 宿建 筑 ,其中 2c 表示物业指数。 代入 ( 1 4)iFA i 的建筑面积数据,标准化处理,用 MATLAB 计算,计算方法与建设成本完全相同,下面只给出结果: 2 [ 0 .0 8 2
ions to the financial situation and thus be constructive to macro economy. Key Words: ARIMA model, Macro economy, Ine and expenditure 对城镇居民人均可支配收入及人均消费性支出的预测分析 1 引言 第十一届全国人大第四次会议通过的十二五规划纲要中明确提出来了
3。 88 目录 第 7 页 共 143 页 土方工程 89 古建筑修缮质量管理措施 89 古建筑修缮原则“恢复原状,保存现状” 90 古建筑修缮质量控制措施 90 古建筑装饰修缮质量控制措施 91 油漆及彩绘质量控制措施 92 维修工作中应注意的事项: 93 第八章 机械设备的配备或选择 94 施工机械设备及材料的选用 94 机具、设备的选用及配备计划 95 拟投入的主要施工施工机械设备表