多语言展示
当前在线:1997今日阅读:19今日分享:20

JASS开发平面横版游戏

用魔兽争霸地图编辑器如何开发出平面横版视角的游戏呢?像儿时小霸王一样的横版游戏!首先准别贴图,自己绘画一下把,绘画工具就使用PS吧,这样同时也可以置图片边缘透明绘图尽量将画布像素设置为 256 * 256 , 在地图编辑器中可以修改贴图的大小,所以不必担心!我就用吃豆子 游戏作为题材进行演示把!图1图2我写的这个题材是一个 吃豆子的 题材, 所以角色需要移动 上下左右, 所以需要将上下左右的 方向动作做好 , 做好模版 进行图像翻转 即可快速生成图片了!动画动作为两部: 开口 闭口做好图片 最好保存为 PNG格式的! 之后使用BLP转换工具进行转换!现在基本的图片工作已经做好 , 导入编辑器中图3导入后 最好将路劲修改一下 去掉之前的保留目录 war3mapImported\*//—————————————–告一段落了首先简单的弄一下地形由于我设计的图片角色是黑色的 就弄个雪地地形把编辑好地形之后 我们用触发器尝试添加到魔兽中!图4图5运行魔兽后成功将图片添加到地图中!大家可以看到 图片为什么会出现这样 拉伸的情况的! 当图片贴到地图中的时候 贴图会扩展 256像素出来, 就是自己的各个方向的两倍长度我们如何避免这样的事情发生呢!可以看一下我作图的时候 图片是什么样子的图6由于时间的问题 我就不 再去修改这些图片了哦!//———————————– 确定了 贴图能够使用!我们在地图编辑中添加一个 “镜头” , 该镜头就是你想设置玩家的平面角度, 最好能设置得正方一点 垂直 水平都保持90度 那是最好的图7此时在玩家初始化中添加一个触发函数 (镜头 – 应用镜头(所有玩家)(限时)NEW ) 在镜头中添加我们新建的镜头(如果你的编辑器比较旧 无该所有玩家函数 你可以循环正在游戏的玩家应用镜头)注意 : 镜头不能太高, 因为魔兽有 3D天空! 所以你可以高于天空 会看到黑屏 , 你是用的高度与你的贴图设置大小有关, 自己慢慢比对适合的位置即可图8虽然图片中的 角色看着有点别扭 但是 效果是不错的! 希望不要介意// ———— 确定了玩家镜头位置———– 触发器中会用到少于 JASS函数 我尽量以触发器进行演示现在我们要尝试使用 (方向键进行移动贴图了)魔兽中提供了 5中按键 : Esc 退出键 / 上标 / 下标 / 左 / 右 | 按键 并且支持 按下 : 放开考虑到做到多人游戏, 所以我们将采用计时器进行移动贴图角色(其实魔兽中的数组是不需要自己先初始数组长度, 长度会自动扩充申请,但是运行效率是不足以 先设定的! )变量名 : han 类型 : 哈希表变量名 :p_image 类型 :图像数组 :10//用于存储玩家角色变量名 :p_KeyBool 类型 :布尔型数组 :10//用于存储玩家是否正在移动该角色 , 防止用户 一直猛按移动变量名 :p_Timer 类型 :计时器数组 :10//用于存储当前玩家使用的计时器句柄 ,防止 多计时器冲突变量名 :p_x 类型 :实数数组 :10//用于存储玩家X坐标变量名 :p_y 类型:实数数组 :10//用于存储玩家Y坐标在初始化触发器中添加一个新函数 :自定义代码: set udg_han = InitHashtable()创建一个新触发器 名为:Left-on // 用于 任意玩家按下 左键此时需要再创建一个新触发 名为:MovePoc //用于 时钟响应后的执行代码那么该触发器生成的函数为 :Trig_MovePocActions (如果使用中文的话 会用___u去代替长度, 所以不建议使用中文触发器名)Trig_ + 触发器名称 + Actions = Trig_MovePocActions 也可以通过转换为自定义文本进行查看我们存在4个方向 所以将角色移动代码 规划到MovePoc 触发器中即可图9图10图11图12由于时间关系 文档就在此告终了剩下的 其他按键希望大家通过自己的努力去创造奇迹把!
推荐信息