快速业务通道

Flash MX 编程深层次应用-Flash射击游戏(6)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10

6.2 游戏制作(前台)(5)
???? 6.2.6? 游戏的初始化程序 至此,敌人部分基本上讲完,下面讲讲游戏的初始化。也许大家会问,怎么,游戏快讲完了才讲初始化啊,游戏初始化不是应该在游戏一开始就对各种物体、目标、声音效果、得分进行初始设置吗,为什么不在本章的前面部分讲啊?其实道理很简单,这么复杂的游戏,如果一开始就讲初始化,读者根本就不知这些初始化语句有何用处。还不如等游戏的具体内容讲得差不多了再列出初始化程序,这样会更加容易理解这些代码的实际含义。具体程序如下: //设置是否为不死版 nodead = false; //我的得分 your_score = 0; //游戏正式开始设置游戏画面的长宽,还有我的飞机数 play_width = 300; play_height = 400; //设置飞船移动的4个边界 play_left = 5; play_right = 295; play_top = 25; play_bottom = 395; my_plane_number = 3; for (i=5;i>=my_plane_number;i--) { ? eval("my_plane_num_"+i)._visible = false; } //设置复制的影片数组 play_plane = new Array(); //我的生命值为50 my_blood = 50; //我的射击声音 my_shot = new Sound(); my_shot.attachSound("my_plane_shot"); //背景循环音乐的声音 bgsound = new Sound(); bgsound.attachSound("loop"); bgsound.setVolume(80); //得到令牌的声音 get_pai = new Sound(); get_pai.attachSound("get"); //我死的声音 my_dead = new Sound(); my_dead.attachSound("dead"); //大怪发出一个子弹的声音 big_enemy_one_sound = new Sound(); big_enemy_one_sound.attachSound("one_sound"); //大怪发出爆炸弹的声音 //big_enemy_bomb_bullet_sound = new Sound(); //big_enemy_bomb_bullet_sound.attachSound("bomb_bullet_sound"); //用数组存放3个函数值,精确到小数点后3位 rad = Math.PI/180; cs = new Array(360); sn = new Array(360); for (i=0; i<=359; i++) { ??? cs[i] = Math.floor(Math.cos(i*rad)*1000)/1000; ??? sn[i] = Math.floor(Math.sin(i*rad)*1000)/1000; } attachMovie("my_plane_bullet", "bullet", 1); bullet._visible = false; bullet_width = bullet._width; bullet_height = bullet._height; // 子弹的数目 powder = new Array(1,2,3,4); max_bullet_powder = new Array(11,24,30,40,55); bullet_level = 1; my_powder = powder[0]; //max_bullet_num = max_bullet_powder[0] max_bullet_num = 18; // 子弹的层数,[1]用来表示我的子弹数,[4]用来表示敌人的散弹数 //[6]表示令牌数开始,[7]表示固定敌人发射的会跟踪的子弹开始位置。[8],[9]之间表示大怪的子弹数 //[11]表示,[13],[14] deplicate = new Array(1,max_bullet_num,150,180,301,500,501,550,1800,1900, 2000,2100,2500,3000,3500); // 子弹的X间距 bullet_x_between = 8; // 子弹的Y间距 bullet_y_between = bullet_height+5; //令牌的当前数 last_pai=0; //固定智能敌人子弹数 ai_enemy_bullet = 0; shot_lock = false; now_bullet = 0; my_plane._y = play_height - my_plane._height; my_plane._x = play_width >>1; bullet_angle = 90; //散弹的子弹间隔角度与间距 angle_between = 20; enemy_bullet_x_between = 20; //敌人散弹每次发射的子弹数 enemy_powder = 3; 至此,游戏前台的主要驱动部分已经讲述完毕了,下面将讲述游戏如何与后台程序进行通信。 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号