《星际争霸2》移动及镜头平移及单位攻击触发教学
我最近编游戏已经开始无力了
主要卡在设定BOSS的AI 跟制作BOSS各种攻击模式
还有让单位进入守护者操作的一些很复杂的触发跟资料修改
想说最近也没什么在弄东西打算把自己摸索到的一些东西拿出来分享给各位想编游戏的人
要开始啰
1.首先你要先去游戏里看一下我的作品(赎罪) 主要是要让妳们知道我接下来说的是什么东西.....
触发器
我们先从移动器开始
1.创造一个资料夹ID为玩家1 这是要做一个资料的分类方便以后做修改
2.创造一个资料夹 ID为 移动器
3.在移动器的资料夹里新增以下4个变数
ID为Polar Velocity (theta) = 0.0 <实数在阵列设定为16
ID为Cartesian Velocity (x) = 0.0 <实数在阵列设定为16
ID为Cartesian Velocity (y) = 0.0 <实数阵列16
ID为Polar Velocity (r) = 0.0 <实数阵列16
记得要在 变数类型那边设定成实数

住:变数千万不要用中文因为有些语法会发生错误导至无法被触发的情形

住:这些变数在经过一个特定的脚本可以变成一个辨识方向的引擎
4.新增一个(新增动作定义)的脚本ID为移动方向辨识器

5.在移动方向辨识器里的参数ID为P = 0 <整数>

ID这部分妳们可以用自己看的懂得都行
6.在动作新增一个设定变数设定变数请参考以下图片

索引的P 就是脚本里的参数点索引---->参数---->P
7.一样在新增一个变数设定请参考以下图片

记住所有在动作设定的变数或触发都要依照顺序上下排列
触发时是由触发器中的最上方开始依序到下方结束

8.在移动器的资料夹新增以下8个触发器
ID为 W (向前)
ID为 A (向左)
ID为 S (向下)
ID为 D (向右)
W UP
A UP
S UP
D UP
9.在W触发器里的事件--->新增元件---->使用者介面---->按键被按下
按键设定为W 请参考以下图片

10.在动作新增一个变数设定请参考以下图片

11.新增移动方向辨识器<----我解说一下这个就是我们自己设定的脚本

在P那边 选 函数--->玩家---->触发玩家

12.在A的触发器也做一样的动作按键记得设定A
变数设定Cartesian Velocity (y) 请看参考图片

然后一下在变数下面新增一个移动方向辨识器
在P那边 选 函数--->玩家---->触发玩家

13.在S的触发器也是一样按键记得设定S
剩下的 我不多说只接看参考图片


14.在D的触发器也是依样按键记得设定D


15.在W UP的触发器也是一样按键记得设W


16.在A UP的触发器也是一样按键记得设A


17.在S UP的触发器也是一样按键记得设S


18.在D UP的触发器也是一样按键记得设D


好哩我们先喘一口气
19.在玩家1的资料夹里新增一个变数ID为Plays the family 1 hero
类型 设定成 单位


20.在玩家1的资料夹新增一个新增动作定义ID为自定义动作接收

在自订义动作接收里的参数新增元件ID为hero 也就是英雄的意思
设定hero的类型为 单位
然后再新增一个参数ID为Identification 辨识的意思
设定 Identification 类型为整数

21.在动作新增--->变数设定-->Plays the family 1 hero
索引--->参数--->Identification
数值--->参数--->hero 这些东西不知道在哪的话回步骤19看一下喔

接下来我们回到移动器的资料夹
22.在移动器的资料夹里新增一个触发器ID为移动控制集
在移动控制集的事件新增元件---->计时器--->周期性事件时间设定为0.05

23.在动作新增元件--->玩家群组--->在玩家群组中挑...
玩家群组 设定为 所有玩家

然后在玩家群组的动作新增--> If Then Else
然后在 If 这边 新增一个and

在and的条件 新增两个比较
第一个在单位设定变数--->Plays the family 1
索引 设定1
住:这个是用来辨识这项触发属于哪位玩家用的
所以以后有关玩家1套用Plays the family 1下面出现索引都要设定1
如果设定其他数字有些触发就会失去连结性
接着在运算子==这个不用动它
数值设定为1 这个等于单位雍有者==1 也就是玩家1的意思

24.为第二个 比较 做设定 请看图片

数值 选变数--->Plays the family 1
25.请看图片

在则新增元件-->下达命令ok 这个比较复杂直接看图说故事

这个你完成了以上的步骤用看祥图应该不需要说明啰
毕竟这个比较复杂用说的不如用看的