狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 20030 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 [Flash]魂斗罗

Posted: 2004-09-04 22:47 | [楼 主]
小神
我不要头衔
级别: 贵宾


精华: 14
发帖: 15287
威望: 2803 点
金钱: 6689 静电币
支持度: 4413 点
在线时间:348(小时)
注册时间:2002-08-29
最后登录:2008-03-14

 

半天还是一片白。。
Posted: 2004-09-04 22:50 | 1 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 20030 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 

《魂斗罗flash版/魂斗罗梦工厂》制作简介

内容介绍
"魂斗罗"是日本游戏公司KONAMI在上个世纪八十年代末推出的一款风靡全球的枪战游戏。一开始只是出现在家用机上,而在后来的几十年里,这个游戏不断的被移植到街机,手掌机,超任,PC等平台上,并衍生出的很多新的后续版本。其影响力之广,我们二三十岁的这代人都是见证人。直到今天,还听说KONAMI借助PS2平台,将要推出最新版的三维 “魂斗罗”。
用flash做的这个游戏,以最早的魂斗罗I代为原型,再现了其中的第一关和最后一关,并有所加工。力求既能通过熟悉的画面和音乐沟起大家童年的回忆,又要让战斗的场面和视听效果尽可能更好一点。
从制作技术上说,我也想通过这个游戏抛砖引玉的说明用flash制作大型枪战游戏的可能性。

作品制作技巧
这方面可以谈的很多,下面概括的说两点:
1. 关于游戏的操纵部分。主要用到的是检测按键(Key.isDown(keycode)),flash mx自带的范例中有一个源文件Movement-keys.fla说明的就是这个,大家可以研究一下。当然,魂斗罗的控制要复杂的多。首先要把游戏主角(Player)所有的动作做到一个MC里面,并贴上相应的桢标签,在上一级的MC里面根据不同的按键比如走路,开枪(各个方向),跳,死亡等等来调用相应的桢,子弹要做成单独的MC以便于和敌人进行碰撞检测。另外,为实现游戏场景的x方向滚动,还要用按键控制游戏背景的_x属性。为了能让Player(还有敌兵)能在第一关的背景中跳上跳下,在每一级台阶上都要有一条不可见的线形的MC,在Player跳起的下落过程中不断检测和它们有没有碰撞(hitTest()), 如果有就站到那级台阶上(用修改player._y实现),没有就一直下落直到死亡。
2. 根据player的位置激活敌人的枪炮,以及敌人如何跟踪player。以炮为例,在炮的第一桢做一个不可见的MC在这个MC的onClipEvent(enterFrame){}中不断检测与parent._x(即炮的横坐标)和Player._x的差,当小于某个值时播放下一桢(即炮进入战斗状态)。再建一个不可见的MC让它存在于炮的战斗状态,在它的onClipEvent(enterFrame){}中用Math.atan()不断求出player、炮和水平线夹角差的反正切,这样就可以控制子弹的_rotation跟踪player了。当然,还要用int()稍微模糊化一点(我作品中的难度系数就是这个模糊量),否则谁也躲不过子弹。 与此同时,还要检测player子弹和炮的碰撞,到一定值就让炮进入死亡状态并给player加分。其它敌人枪炮的制作与此类同,换汤不换药。

感想
制作游戏是动画和编程的综合,在这个作品中我比较注重编程。既然是编程,一些软件学的原理都是适用的,比如模块化的思想,程序的可移植性、可读性、容错性等等都是很重要的。事实上,我认为将游戏的设置部分和游戏内容分离是将来的发展方向,把它们做成两个独立的exe和swf,用loadMovie传递参数并连接它们(就象游戏机插游戏卡)。这种方法有利于flash游戏的商业运作。

——写于2002年初,原载《中国FLASH百部经典》


PS:“魂斗罗梦工厂”编辑器/播放器是在“魂斗罗flash版”的基础上升级的,并没有费太大的事。这要归功于当时程序的模块化比较好啊:)
Posted: 2004-09-04 22:51 | 2 楼
维尼
级别: 天使


精华: 1
发帖: 3700
威望: 84 点
金钱: 249 静电币
支持度: 0 点
在线时间:10(小时)
注册时间:2004-07-26
最后登录:2010-08-23

 

还是空白啊```
Posted: 2004-09-04 22:54 | 3 楼
#凡人(@_@)天使#
级别: 光明使者


精华: 2
发帖: 2828
威望: 382 点
金钱: 110 静电币
支持度: 0 点
在线时间:300(小时)
注册时间:2002-11-24
最后登录:2009-11-29

 

我和我哥哥小时侯老打这个的
我不能改变整个世界 但我要尽最大的努力 让尽可能多的人知道 世上还有那么多苦命的孩子


Posted: 2004-09-05 14:32 | 4 楼
帖子浏览记录 版块浏览记录
狗狗静电BBS - wwW.DoGGiEhoMe.CoM » 哇啦哇啦 Discuss & Talk aloud

沪ICP备05008186号
Powered by PHPWind Styled by MagiColor