| 设置首页 收藏站点 关于我们 联系站长

 | 首页 | 教程 | 脚本 | 博客 | 娱乐 | 图库 | 音效 | 软件 | 教案 | 论文 | 试题 | 课件 | 影视 | 

|| 您现在的位置: 课件大师 >> 教程 >> Flash_MX >> 正文
普通教程flash十万个为什么
普通教程[组图]FLASH教程下载
普通教程如何在 Director 中播
普通教程搜索引擎优化(SEO)技
普通教程首页根据分辨率的大小
普通教程flash中利用setMask(
普通教程flash怎么样实现在让
普通教程flash菜单中缓冲移动
普通教程JS实现浏览器菜单命令
普通教程Flash对联广告及关闭
推荐教程flash实现快进10帧和
推荐教程[组图]PPT课件制作:
推荐教程[组图]用Flash制作螺
推荐教程[组图]Flash制作视觉
推荐教程AW课件制作实例:游戏
推荐教程[图文]AW课件制作实例
推荐教程[图文]PPT特效动画实
推荐教程FLASH调用外部文件的
推荐教程[组图]动画短片制作常
推荐教程[组图]硕思闪客精灵M
游戏策划(下)
用FLASH MX制作
用FLASH MX制作
制作运动的光碟
Flash按钮制作实
巧妙提取Flash文

鼠绘教程五:凉椅上

鼠绘教程四:忧郁的

鼠绘教程三:挥手的

鼠绘教程二:扮酷的

[组图]游戏策划(上):PRG地图实现初步         
游戏策划(上):PRG地图实现初步
副标题:
作者:大愚 文章来源:互联网 点击数: 更新时间:2005-9-9 17:49:35

   

 用FLASH做PRG,我晕,呵呵,听到这个,很多人恐怕要这么认为。不过FLASH强大的脚本功能和出色的动画函数,给我FLASH做PRG游戏提供了很好的支持。从今天开始大愚分2节课程给大家讲述做PRG游戏的基础模型。由于大愚也是一个菜鸟,所以错误之处,还请见谅。

    由于FLASH还不能支持3D,所以在FLASH的游戏中要做真正的3D引擎还是有困难的,不过做一个2.5D的游戏,相对容易,不但能给人接近3D的真实感受。而又不必要去花费过多的精力。下面大愚就给大家介绍45度地图在FLASH MX中的实现过程。

    在实现之前大家先来看看什么叫45度地图(又叫2.5D地图)

    可以看出这个地图是由许多大小一致扁平的菱形组成的,如图:

    这个组成地图的菱形我们叫做地图元素(简称图元),大小是60X30象素,你可以根据情况决定元素长宽比例,比如64X32。在这个例子中,我们就先用60X30来演示。

    然后我们把这些图元进行排列,如图:

    找到一些规律,发现奇数行图元是同样的排列顺序,而偶数行相对奇数行往右移动了30象素,同样每行都比上一行要往下移动15象数。这样一来,我们就知道,怎么完成这个地图了。

操作步骤:

    1, 打开FLASH MX或2004,新建一个文档,取名“地图”,大小设置为800X300象素。

    2, 然后新建一个元件(选择影片剪辑),取名为“dt1”,单击高级,选择作为动作脚本输出

    3,在舞台上我们画一个正方形,旋转45度,然后在属性里面把宽和高分别设置成60和30象素。

    4,再次新建一个元件(还是影片剪辑,这次我们要做的是柱子),名字为“dt2”,作为动作脚本输出

    5,在"dt2"的舞台上画一个如同下图所示的形状

    6,回到场景,选中第一桢,打开动作面板(按F9)

    7,将以下代码加到动作面板中:

dt = new array(21);
//建立一个大小为21个元素的数组
for (i = 0; i < 21; i++) {

 dt[i] = new array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);  //每个数组元素又是一个16个元素的数组,并且进行了初始化。 } dt[16] = new array(1,1,1,2,1,2,1,1,1,1,1,1,1,1,2,1); dt[17] = new array(1,1,1,2,1,2,1,1,1,2,1,1,1,1,1,1); dt[18] = new array(1,1,1,2,1,2,1,1,1,1,2,2,2,1,1,1); dt[19] = new array(1,1,1,2,1,2,1,1,1,2,1,1,1,2,1,1); //对12,17,18,19这4行元素从新定义了数值 for (i = 0; i < 21; i++) { if (i % 2 == 1) { d = 30;//当i是奇数的时候,i%2为1时,我们让这行的图元向右错开30象素 } else { d = 0;//i为偶数时则不必 } for (j = 0; j < 16; j++) { if (_root.dt[i][j] == 1) { //当dt[i][j]的值为1时,我们从库里连接dt1, //并起一个新名字 ("dt1" + i * 21)+ j,分配给它一个唯一的深度i*21+j。 attachmovie("dt1", ("dt1" + i * 21) + j, i* 21 + j); } else if (_root.dt[i][j] == 2) { //当dt[i][j]的值为2时,我们从库里连接dt2, //并起一个新名字 ("dt2" + i * 21)+ j,分配给它一个唯一的深度i*21+j。 attachmovie("dt2", ("dt1" + i * 21) + j, i* 21 + j); } _root[("dt1" + i * 21) + j]._x = j * 60 + d; _root[("dt1" + i * 21) + j]._y = i * 15; //对新连接的图元设置其X,Y坐标 } }

    8,最后的结果如图所示

    9,总结,通过设置更多的图元,我们可以做出漂亮的地图,是不是心动了?那就赶快尝试吧。


教程录入:chgh00    责任编辑:闪客帝国 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |

    网站维护:潜龙 QQ:20885537 Email:WebMaster#PowerCai.Com备案编号:渝ICP备05001729号