《星际争霸2》移动及镜头平移及单位攻击触发教学
我最近编游戏已经开始无力了主要卡在设定BOSS的AI 跟制作BOSS各种攻击模式
还有让单位进入守护者操作的一些很复杂的触发跟资料修改
想说最近也没什么在弄东西打算把自己摸索到的一些东西拿出来分享给各位想编游戏的人
要开始啰
1.首先你要先去游戏里看一下我的作品(赎罪) 主要是要让妳们知道我接下来说的是什么东西...。.
触发器
我们先从移动器开始
1.创造一个资料夹ID为玩家1 这是要做一个资料的分类方便以后做修改
2.创造一个资料夹 ID为 移动器
3.在移动器的资料夹里新增以下4个变数
ID为Polar Velocity (theta) = 0.0
ID为Cartesian Velocity (x) = 0.0
ID为Cartesian Velocity (y) = 0.0
ID为Polar Velocity (r) = 0.0
记得要在 变数类型那边设定成实数
http://i1.sinaimg.cn/gm/cr/2010/0819/536590399.jpg
住:变数千万不要用中文因为有些语法会发生错误导至无法被触发的情形
http://i1.sinaimg.cn/gm/cr/2010/0819/1922613373.jpg
住:这些变数在经过一个特定的脚本可以变成一个辨识方向的引擎
4.新增一个(新增动作定义)的脚本ID为移动方向辨识器
http://i0.sinaimg.cn/gm/cr/2010/0819/2212600762.jpg
5.在移动方向辨识器里的参数ID为P = 0
http://i2.sinaimg.cn/gm/cr/2010/0819/1421952868.jpg
ID这部分妳们可以用自己看的懂得都行
6.在动作新增一个设定变数设定变数请参考以下图片
http://i0.sinaimg.cn/gm/cr/2010/0819/54329638.jpg
索引的P 就是脚本里的参数点索引---->参数---->P
7.一样在新增一个变数设定请参考以下图片
http://i2.sinaimg.cn/gm/cr/2010/0819/4184798944.jpg
记住所有在动作设定的变数或触发都要依照顺序上下排列
触发时是由触发器中的最上方开始依序到下方结束
http://i3.sinaimg.cn/gm/cr/2010/0819/2817175714.jpg
8.在移动器的资料夹新增以下8个触发器
ID为 W (向前)
ID为 A (向左)
ID为 S (向下)
ID为 D (向右)
W UP
A UP
S UP
D UP
http://i3.sinaimg.cn/gm/cr/2010/0819/2046362363.jpg
9.在W触发器里的事件--->新增元件---->使用者介面---->按键被按下
按键设定为W 请参考以下图片
http://i0.sinaimg.cn/gm/cr/2010/0819/1255714469.jpg
10.在动作新增一个变数设定请参考以下图片
http://i2.sinaimg.cn/gm/cr/2010/0819/4183058535.jpg
11.新增移动方向辨识器
http://i2.sinaimg.cn/gm/cr/2010/0819/4018560545.jpg
在P那边 选 函数--->玩家---->触发玩家
http://i1.sinaimg.cn/gm/cr/2010/0819/2650937315.jpg
12.在A的触发器也做一样的动作按键记得设定A
变数设定Cartesian Velocity (y) 请看参考图片
http://i0.sinaimg.cn/gm/cr/2010/0819/3308706360.jpg
然后一下在变数下面新增一个移动方向辨识器
在P那边 选 函数--->玩家---->触发玩家
http://i2.sinaimg.cn/gm/cr/2010/0819/4077779302.jpg
13.在S的触发器也是一样按键记得设定S
剩下的 我不多说只接看参考图片
http://i2.sinaimg.cn/gm/cr/2010/0819/1150435236.jpg
http://i1.sinaimg.cn/gm/cr/2010/0819/2545658082.jpg
14.在D的触发器也是依样按键记得设定D
http://i1.sinaimg.cn/gm/cr/2010/0819/3913281312.jpg
http://i3.sinaimg.cn/gm/cr/2010/0819/3142467961.jpg
15.在W UP的触发器也是一样按键记得设W
http://i3.sinaimg.cn/gm/cr/2010/0819/3911540903.jpg
http://i3.sinaimg.cn/gm/cr/2010/0819/984196837.jpg
16.在A UP的触发器也是一样按键记得设A
http://i0.sinaimg.cn/gm/cr/2010/0819/2379419683.jpg
http://i0.sinaimg.cn/gm/cr/2010/0819/3747042913.jpg
17.在S UP的触发器也是一样按键记得设S
http://i1.sinaimg.cn/gm/cr/2010/0819/2078816702.jpg
http://i3.sinaimg.cn/gm/cr/2010/0819/2537293408.jpg
18.在D UP的触发器也是一样按键记得设D
http://i0.sinaimg.cn/gm/cr/2010/0819/1151270434.jpg
http://i0.sinaimg.cn/gm/cr/2010/0819/4069414628.jpg
好哩我们先喘一口气
19.在玩家1的资料夹里新增一个变数ID为Plays the family 1 hero
类型 设定成 单位
http://i0.sinaimg.cn/gm/cr/2010/0819/313270857.jpg
http://i2.sinaimg.cn/gm/cr/2010/0819/1959326016.jpg
20.在玩家1的资料夹新增一个新增动作定义ID为自定义动作接收
http://i1.sinaimg.cn/gm/cr/2010/0819/591702786.jpg
在自订义动作接收里的参数新增元件ID为hero 也就是英雄的意思
设定hero的类型为 单位
然后再新增一个参数ID为Identification 辨识的意思
设定 Identification 类型为整数
http://i3.sinaimg.cn/gm/cr/2010/0819/3491447236.jpg
21.在动作新增--->变数设定-->Plays the family 1 hero
索引--->参数--->Identification
数值--->参数--->hero 这些东西不知道在哪的话回步骤19看一下喔
http://i0.sinaimg.cn/gm/cr/2010/0819/2123824006.jpg
接下来我们回到移动器的资料夹
22.在移动器的资料夹里新增一个触发器ID为移动控制集
在移动控制集的事件新增元件---->计时器--->周期性事件时间设定为0.05
http://i2.sinaimg.cn/gm/cr/2010/0819/3779400264.jpg
23.在动作新增元件--->玩家群组--->在玩家群组中挑.。.
玩家群组 设定为 所有玩家
http://i0.sinaimg.cn/gm/cr/2010/0819/1130623299.jpg
然后在玩家群组的动作新增--> If Then Else
然后在 If 这边 新增一个and
http://i2.sinaimg.cn/gm/cr/2010/0819/2516646273.jpg
在and的条件 新增两个比较
第一个在单位设定变数--->Plays the family 1
索引 设定1
住:这个是用来辨识这项触发属于哪位玩家用的
所以以后有关玩家1套用Plays the family 1下面出现索引都要设定1
如果设定其他数字有些触发就会失去连结性
接着在运算子==这个不用动它
数值设定为1 这个等于单位雍有者==1 也就是玩家1的意思
http://i2.sinaimg.cn/gm/cr/2010/0819/2662744519.jpg
24.为第二个 比较 做设定 请看图片
http://i0.sinaimg.cn/gm/cr/2010/0819/4048767493.jpg
数值 选变数--->Plays the family 1
25.请看图片
http://i2.sinaimg.cn/gm/cr/2010/0819/2950697547.jpg
在则新增元件-->下达命令ok 这个比较复杂直接看图说故事
http://i0.sinaimg.cn/gm/cr/2010/0819/2510725954.jpg
这个你完成了以上的步骤用看祥图应该不需要说明啰
毕竟这个比较复杂用说的不如用看的
26.在地图创造一个单位
27.回到玩家1的资料夹新增一个触发器id为初始
在初始里事件--->新增元件--->游戏-->地图初始化
接着在动作新增元件--->自订义动作接收住:这个就是我们在第20步骤所设定的脚本
单位--->直---地图上的某个单位
然后在单位的下面Identification:设定1 住:Identification这个i在第20步骤设定参数时所设定的id
http://i0.sinaimg.cn/gm/cr/2010/0819/3896748928.jpg
okok 这麻烦的步骤都做完了接下来教各位怎么让更多的使用者来使用这个移动引擎
步骤
28.复制玩家1的资料夹 把id改为玩家2
打开来看它里面的触发器id后面会多一个2
但你注意看他是空一格2
所以这时你会无法存档
所以你要把触发器的id改一下尽量改自己看得懂好记的方便很后做修改跟新增东西
或直接 a2或b2这样
29.在玩家2的资料夹中的初始2 里面检查有没有重复到玩家1的单位跟触发
有的话就作修正
http://i1.sinaimg.cn/gm/cr/2010/0819/4042847174.jpg
30.回到移动器资料夹到移动控制集然后复制玩家群组中的动作
一般-If (Conditions) then do (Actions) else do (Actions)
http://i2.sinaimg.cn/gm/cr/2010/0819/1133902852.jpg
打开复制好的来看
http://i0.sinaimg.cn/gm/cr/2010/0819/35832906.jpg
把它修改成属于玩家2的触发动作
31.修改下达命令的触发
http://i2.sinaimg.cn/gm/cr/2010/0819/2406827085.jpg
以上就是移动方面的控制触发等比较有空的话我在传镜头的触发方式
之前已经有大大提供了一个镜头偏但会因为地形的高低而出现镜头偏高及无法
完整看到正前方的问题所以我会教各位比较好用的镜头锁定方式
那么就先这样了@@ 好累哦
页:
[1]