Project1

标题: 【JGSS1脚本】事件自动追逐主角 [打印本页]

作者: 喵呜喵5    时间: 2015-10-16 14:23
标题: 【JGSS1脚本】事件自动追逐主角
本帖最后由 喵呜喵5 于 2015-10-16 14:37 编辑

使用说明:
将对应事件的移动路径的脚本中输入
  1. M5Script.m5_20151016_fr.move_to(this,$gamePlayer.x,$gamePlayer.y)
复制代码
之后该事件就会接近主角并自动寻路,同理,你也可以将后面两个参数换成其他内容,例如
  1. M5Script.m5_20151016_fr.move_to(this,3,3)
复制代码
事件就会自动朝坐标(3,3)移动

更更特殊的用法,在移动路径中输入脚本:
  1. M5Script.m5_20151016_fr.move_to(3,3,3)
复制代码
控制3号事件向(3,3)移动一步
  1. M5Script.m5_20151016_fr.move_to(-1,3,3)
复制代码
控制主角向(3,3)移动一步

脚本本体:

JAVASCRIPT 代码复制
  1. var M5Script = window.M5Script || { alias : {}, imported : {} }
  2. M5Script.imported["m5_20151016_fr"] = 20151016
  3. M5Script.alias["m5_20151016_fr"] = {
  4.     method1 : Game_Character.prototype.searchLimit
  5. }
  6. M5Script.m5_20151016_fr = {
  7.     get_character : function (param){
  8.         if ( isNaN(param) ) return param
  9.         if (param == -1) return $gamePlayer
  10.         return $gameMap.event(param)
  11.     },
  12.     move_to : function (character,x,y){
  13.         var character = this.get_character(character)
  14.         direction = character.findDirectionTo(x, y)
  15.         if (direction > 0) character.moveStraight(direction)
  16.     }
  17. }


如何插入脚本:

我也不知道……我又没有MV= =,脚本是看着之前范例工程的源代码写的= =
这个脚本更类似于一个练习,alias啦imported啦这些没必要的东西都先弄出来了,等到MV实际发售时再看看官方MV的代码规范是怎么样的吧……



P.S

如何不想插入这个脚本,你可以直接输入
  1. (function(){ if ( (var d = findDirectionTo(x, y) != 0 ) moveStraight(d) })()
复制代码
来实现相同的效果(未测试)

等我完全搞懂了JS的对象和继承之后再写一个能一条指令走到底的版本……
作者: taroxd    时间: 2015-10-16 15:41
本帖最后由 taroxd 于 2015-10-16 15:58 编辑

JAVASCRIPT 代码复制
  1. root.__defineGetter__('M5Script', function(){});


要不喵呜喵先适应一下 camelCase?
作者: 余烬之中    时间: 2015-10-16 15:43
M5Script = 1
作者: grayuncle    时间: 2015-10-16 16:40
都看不懂。。。。以后就是喵咪的天下了,单身狗默默路过。。。。。
作者: 冷峻逸    时间: 2015-10-16 19:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: 墨凌羽    时间: 2015-10-16 20:46
this._windowLayer is undefined
这是肿么了QAQ
作者: WildDagger    时间: 2015-10-16 21:39
墨凌羽 发表于 2015-10-16 20:46
this._windowLayer is undefined
这是肿么了QAQ

可能是插錯地方,執行到的時候那個變數還沒被定義,所以就跳出錯誤了

Java Script有個需要注意的地方是變數除了有值以外,還有null與undefined這兩個類型
雖然同樣都是沒有值,但null與undefined還是有不少差異

null是有這變數但是變數沒有值,undefined則是根本還沒有這變數
前者的話Java Script還會傳回null給你,後者你試圖呼叫的時候因為找不到,所以就報錯了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1