设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5453|回复: 35
打印 上一主题 下一主题

[随意闲聊] 用 MV 写的塔防模式

[复制链接]

Lv5.捕梦者

梦石
0
星屑
32029
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

跳转到指定楼层
1
发表于 2019-8-26 09:46:42 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
   
   昨年就开始设想的 塔防模式 ,在今年年初才开始动手,利用空余时间,到现在差不多基本完成了。

  这个塔防模式,不影响默认的游戏模式。需要进行塔防时,只需要 一个进行塔防的地图ID ,一个用于记录塔防
敌人队伍的公共事件ID 就行了。 事件输入插件命令,代入这两个参数,即可进行塔防游戏。
  塔防游戏完毕后,自动回到塔防游戏前角色所在的地图和位置。


以下为塔防系统的一些概况:

===========================================================================================
〓 角色 〓
===========================================================================================
1,角色各种属性数据,皆是 数据库-角色
-------------------------------------------------------------------------------------------
2,角色用于塔防的动作行走图(八方向),共四种(静止,行走,攻击,死亡)。

   静止动态图  => 角色备注
   行走动态图  => 角色备注<塔防模式暂未用到>
   攻击动态图  => 角色备注
   死亡动态图  => 角色备注<塔防模式暂未用到>

   <每种动作图的帧数,可以不相同>
-------------------------------------------------------------------------------------------
3,角色对应动作声效(无备注则无声效)。

   攻击声效 => 角色备注
   挨打声效 => 角色备注
   死亡声效 => 角色备注
-------------------------------------------------------------------------------------------
4,角色占地格数 => 角色备注  <角色在地图上所占的格数>
-------------------------------------------------------------------------------------------
5,角色攻击频率 => 设置的角色某项属性  <属性值越接近该属性的最大值,攻击频率越快>
===========================================================================================
〓 敌人 〓
===========================================================================================
1,敌人各种属性数据,皆是 数据库-敌人

   <可用命令调节塔防模式时敌人的血量,经验,金钱,爆率等百分比。>
-------------------------------------------------------------------------------------------
1,敌人用于塔防的动作行走图(八方向),共四种(静止,行走,攻击,死亡)。

   静止动态图  => 敌人备注
   行走动态图  => 敌人备注
   攻击动态图  => 敌人备注<塔防模式暂未用到>
   死亡动态图  => 敌人备注

   <每种动作图的帧数,可以不相同>
-------------------------------------------------------------------------------------------
2,敌人对应动作声效(无备注则无声效)。

   攻击声效 => 敌人备注
   挨打声效 => 敌人备注
   死亡声效 => 敌人备注
-------------------------------------------------------------------------------------------
3,敌人行走速度(频率)=> 敌人备注

   <像素移动,每步所走距离相同,行走速度由动作频率决定>
-------------------------------------------------------------------------------------------
4,敌人抗打击能力 => 敌人备注

   <敌人受伤会短暂的受伤动作而停止行走,抗打击能力可备注其受伤的血量百分比高于某个值才>
   <显示受伤的动作,百分比备注为 100 时,免疫受伤动作>
===========================================================================================
〓 技能 〓
===========================================================================================
1,技能的各项数据,皆是 数据库-技能
-------------------------------------------------------------------------------------------
2,技能在塔防时的 子弹 图像 => 技能备注

   <只有备注了该项的技能,才能用于塔防模式>
   <子弹 图像可以是 1帧静态,也可以是 多帧动态>
-------------------------------------------------------------------------------------------
3,技能攻击范围 => 技能备注
  
   <备注的数值是地图格数,实际像素圆范围半径 = 格数 x 图块尺寸>
-------------------------------------------------------------------------------------------
4,技能爆炸伤害范围 => 技能备注
   
   <备注的数值是地图格数,实际像素圆范围半径 = 格数 x 图块尺寸>
-------------------------------------------------------------------------------------------
5,技能的攻击频率 => 技能备注

   <该频率值,加上使用这个技能的角色攻击频率,为最终的攻击频率值>
-------------------------------------------------------------------------------------------
6,技能的使用者动画 => 技能备注
===========================================================================================
〓 公共事件 〓
===========================================================================================
1,一个公共事件,备注整场塔防的所以敌人队伍信息。
-------------------------------------------------------------------------------------------
2,公共事件内,一条 注释 为一波敌人队伍。并且可备注 等待时间,投放敌人间隔时间,是否随机
   投放敌人(一波有两种及以上类型的敌人) 等。
===========================================================================================
〓 地图 〓
===========================================================================================
1,用于塔防的地图,需要铺设四种 区域ID (出怪点,怪行进路线,怪行进终点,能够放置角色的点)。
-------------------------------------------------------------------------------------------
2,为节省效率,怪的寻路算法比较简单,仅支持 单条 行进路线。若铺设有岔路,怪可能会进入岔道而
   停止行进。
===========================================================================================
〓 脚本 〓
===========================================================================================
1,塔防单位(角色,敌人)都是基于 Sprite_Base 所写,其基础数据为 Game_Actor 或 Game_Enemy 。
-------------------------------------------------------------------------------------------
2,技能 子弹 也是基于 Sprite_Base 所写,内在数据包括 攻击者,技能ID,被攻击者 。
-------------------------------------------------------------------------------------------
3,窗口是基于 Window_Base 所写的 UI图片窗口,以及一些 Sprite 按钮。
-------------------------------------------------------------------------------------------
4,一些游戏对象,地图精灵和场景,进行了一些必要的修改。
   添加了一个专门用于 塔防模式 逻辑操控的游戏实例对象类。
   <本想写操控静态类,但考虑到中途储存,写成实例对象类>
===========================================================================================


以下为预览视频链接:
https://www.bilibili.com/video/av65397789

https://www.bilibili.com/video/av65399059

评分

参与人数 5星屑 +50 +4 收起 理由
微笑的迪妮莎 + 1 膜拜大神~~~
wabcmcc + 1 精品文章
fux2 + 50 精品文章
白嫩白嫩的 + 1 大佬开启新的纪元
百里_飞柳 + 1 精品文章

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制

Lv5.捕梦者

梦石
0
星屑
32029
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

2
 楼主| 发表于 2019-8-26 16:39:32 | 显示全部楼层
guoxiaomi 发表于 2019-8-26 15:15
暑假抽了几天研究了一下想写一个XP上的塔防小游戏,做着就发现控制行进路线有点头疼,于是放弃了……正好拿 ...

呃~,  这个是不公布出来的。只是用于自己找人合作或转让授权。
依照本人性格,如果要发布,我不会做成八方向,也不会用UI图片做窗口。
要发布的话就直接在MV区发帖子了,不会在这儿水一贴的。

至于寻路,那个就是非常简单的了。地图上 怪的起点,终点,路线,以及角色可放置区域都是用 区域ID 铺设的。


怪走到一格,就只侦测 周围四格,排除走过的坐标,剩下的有 路线区域ID 的坐标,就是下一步行进目标,非常简单。
MV有自带的自寻路,但不敢用,距离稍微远点就很消耗效率,更不用说怪多的情况。
用那种简单的方法,怪再多也不用怕效率消耗太大。包括角色在地图上的放置也是,只需判断坐标的 区域ID ,省略了 地图的
是否通行 判断,也可以节省很多的效率。

至于XP,只有地形标志,虽然通用性强,但灵活性就比较差了。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-9 09:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表