中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 图形图象 > 网页设计 > Flash
Flash MX 编程深层次应用-Flash射击游戏(6)
作者:未知 时间:2005-05-27 12:12 出处:ChinaZ.com 责编:chinaitpower
              摘要:Flash MX 编程深层次应用-Flash射击游戏(6)
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;

至此,游戏前台的主要驱动部分已经讲述完毕了,下面将讲述游戏如何与后台程序进行通信。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有