Project1

标题: 请问怎么做随机移动的事件? [打印本页]

作者: 海绵体质    时间: 2015-11-30 23:09
标题: 请问怎么做随机移动的事件?
就是到达某个位置以后会被随机传送到某个范围内的任意一个位置,我不会做诶。求教求教。
作者: Kesecky    时间: 2015-12-1 00:17
用变量传送,然后变量用随机数(大概可以
作者: 语义噪音    时间: 2015-12-1 13:43
本帖最后由 语义噪音 于 2015-12-1 13:52 编辑

传送:
JAVASCRIPT 代码复制
  1. /*
  2.  * 将玩家小队传送到指定位置。
  3.  *
  4.  * @param {Number} mapId 地图ID,参阅data/MapInfos.json
  5.  * @param {Number} x 目标位置的X坐标
  6.  * @param {Number} y 目标位置的Y坐标
  7.  * @param {Number} d 传送结束后的方向。方向定义同小键盘的数字。
  8.  * @param {Number} fadeType 渐变类别。0为黑色,1为白色,不设置或者大于1为无渐变。
  9.  */
  10. Game_Player.prototype.reserveTransfer(mapId, x, y, d, fadeType)

随机:
JAVASCRIPT 代码复制
  1. /**
  2.  * 生成一个范围在0和max-1之间的随机整数。
  3.  *
  4.  * @static
  5.  * @param {Number} max 上限(不包含在内)
  6.  * @return {Number} 一个随机整数
  7.  */
  8. Math.randomInt(max)


要获得一个当前的Game_Player对象,只需要使用内置的全局变量$gamePlayer就可以。
所以你想要做的事,可以这样做:
JAVASCRIPT 代码复制
  1. $gamePlayer.reserveTransfer(mapId, min_x+Math.randomInt(max_x), min_y+Math.randomInt(max_y))

其中,mapId是目标地图的ID,min_x、max_x、min_y、max_y分别为x和y的最大最小值,没有给定方向,就默认采用之前的方向,没有渐变类别,所以一瞬间就到了。
这只是个原型,实际使用时可以在此基础上进行修改。  
作者: 海绵体质    时间: 2016-1-25 15:38
语义噪音 发表于 2015-12-1 13:43
传送:

/*

谢谢(。◕∀◕。)
作者: chenyilindzh    时间: 2016-1-25 18:33
不会传到墙上吗····
作者: 1097811376    时间: 2016-1-25 22:59
chenyilindzh 发表于 2016-1-25 18:33
不会传到墙上吗····

大概只能把可以移动的地点列个数组,然后再随机选择一个数组移动了,{:2_257:}
作者: 小叮鈴    时间: 2016-1-25 23:12
變量隨機1~10
分別設定1~10每個傳送的地點




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