南瓜园

 找回密码
 注册
查看: 1539|回复: 0

《星际争霸2》移动及镜头平移及单位攻击触发教学

[复制链接]
发表于 2010-8-23 02:17:44 | 显示全部楼层 |阅读模式
我最近编游戏已经开始无力了
  主要卡在设定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
  记得要在 变数类型那边设定成实数
  

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

  住:这些变数在经过一个特定的脚本可以变成一个辨识方向的引擎
  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 这个比较复杂直接看图说故事
  

  这个你完成了以上的步骤用看祥图应该不需要说明啰
  毕竟这个比较复杂用说的不如用看的
  26.在地图创造一个单位
  27.回到玩家1的资料夹新增一个触发器id为初始
  在初始里事件--->新增元件--->游戏-->地图初始化
  接着在动作新增元件--->自订义动作接收住:这个就是我们在第20步骤所设定的脚本
  单位--->直---地图上的某个单位
  然后在单位的下面Identification:设定1 住:Identification这个i在第20步骤设定参数时所设定的id
  

  okok 这麻烦的步骤都做完了接下来教各位怎么让更多的使用者来使用这个移动引擎
  步骤
  28.复制玩家1的资料夹 把id改为玩家2
  打开来看它里面的触发器id后面会多一个2
  但你注意看他是空一格2
  所以这时你会无法存档
  所以你要把触发器的id改一下尽量改自己看得懂好记的方便很后做修改跟新增东西
  或直接 a2或b2这样
  29.在玩家2的资料夹中的初始2 里面检查有没有重复到玩家1的单位跟触发
  有的话就作修正
  

  30.回到移动器资料夹到移动控制集然后复制玩家群组中的动作
  一般-If (Conditions) then do (Actions) else do (Actions)
  

  打开复制好的来看
  

  把它修改成属于玩家2的触发动作
  31.修改下达命令的触发
  

  以上就是移动方面的控制触发等比较有空的话我在传镜头的触发方式
  之前已经有大大提供了一个镜头偏但会因为地形的高低而出现镜头偏高及无法
  完整看到正前方的问题所以我会教各位比较好用的镜头锁定方式
  那么就先这样了@@ 好累哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

请大家牢记南瓜园网址 www.nan2008.com

QQ|小黑屋|手机版|Archiver|南瓜园

GMT+8, 2024-11-24 02:09 , Processed in 0.087387 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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