搜索你感兴趣的问题
如何制作游戏
小楼听风雨 2024-06-06 08:42:31
推荐回答
小楼听风雨 2024-06-07 10:15:46

flash游戏是一种新兴起的游戏形式,以游戏简单,操作方便,绿色,无需安装,文件体积小等优点现在渐渐被广大网友喜爱。

操作方法

思考游戏的构思:基本创意、关卡设计(如何增加难度)

游戏世界的空间模型:有限空间(e.g.桌球)、上下左右连续的空间、无限空间(背景卷轴)、切换空间(场景切换)

游戏世界的时间模型:基本的时间线、一种时钟驱动的游戏引擎:设置时钟: var world_timer = setInterval(GameRun, game_speed);清除时钟:clearInterval(world_timer);

游戏时空模型的测试:// 新建一个MC,实例名为 enemy// 系统时钟var world_timer = setInterval(GameRun, game_speed);// 游戏主逻辑function GameRun(){enemy._x += 18;}

碰撞检测:根据两个对象的 _x, _y, _width, _height 来计算,看看两给对象的外接矩形是否重叠

代码实验:碰撞检测/* 添加 weapon 对象1、添加 onPress 方法,向系统时钟发出信号2、系统时钟根据信号,命令武器飞出3、根据武器与当前敌人位置,判断是否击中*/ weapon.onPress = function(){weapon_fired = true; // 武器已经发出}

// GameRun 游戏主循环中令武器飞出weapon._y -= 36;// 击中敌人if (hitEnemy()) enemyDead();

weapon._y< ( enemy._y+ enemy._height ) && weapon._y >(enemy._y - weapon._height)

weapon._x >enemy._x && weapon._x< ( enemy._x + enemy._width – weapon._width)

// 测试敌人是否被击中;function hitEnemy(){ return (weapon._y< (enemy._y+enemy._height)) && (weapon._y >(enemy._y - weapon._height)) &&(weapon._x >enemy._x) && (weapon._x< (enemy._x+enemy._width-weapon._width));}

对象跃出空间时的复位:敌人跑出空间后,记为成功逃脱;然后从新出现;敌人中刀后,当前敌人已死;产生新敌人;飞刀飞出空间后,重新复位;飞刀中敌后,也自动复位

Flash游戏的基本框架:创建包括 Game_Face、Game_Body、Game_End三个关键帧,作为框架。游戏的结束函数(清除系统时钟)Start 按钮的制作与代码Replay 按钮的制作与代码Reset 按钮的实现(注意清除系统时钟)

基本游戏场景的实现:当前游戏采用背景图片的方式来实现:直接在 Flash 当中绘制矢量图、Photoshop 等位图处理图片后导入、其他矢量绘图软件导入、采集音频、视频、导入其他Flash源文件当中的素材。

内嵌式音频的使用:导入到库、命名(创建标识符)、代码中引用。

代码实验:内嵌音频播放:// 播放内置的声音function playSound(sndName){ var my_Sound:Sound = new Sound(); my_Sound.attachSound(sndName); my_Sound.start();}

敌人的制作(多情态的动画角色制作):绘制多帧的动画、给关键帧命名、在关键帧中合理使用 stop 命令,分割情态。

编程实现完整的作品:常用的简单调试:多使用 trace、使用文本变量输出内部值、使用系统提供的调试命令(可以断点跟踪)。

大家都关注
有问题 @爱问
Powered by iask.com