查看: 4513|回复: 6

[已经解决] 请问怎么做随机移动的事件?

[复制链接]
梦石
0
星屑
50
在线时间
6 小时
注册时间
2015-11-11
回帖
6
发表于 2015-11-30 23:09:47 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
就是到达某个位置以后会被随机传送到某个范围内的任意一个位置,我不会做诶。求教求教。
梦石
0
星屑
50
在线时间
79 小时
注册时间
2008-5-11
回帖
30
发表于 2015-12-1 00:17:15 来自手机 | 显示全部楼层
用变量传送,然后变量用随机数(大概可以

评分

参与人数 1星屑 +166 收起 理由
余烬之中 + 166 的确可以

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-11-30
回帖
15
发表于 2015-12-1 13:43:32 | 显示全部楼层
本帖最后由 语义噪音 于 2015-12-1 13:52 编辑

传送:
[pre lang="javascript"]
/*
* 将玩家小队传送到指定位置。
*
* @param {Number} mapId 地图ID,参阅data/MapInfos.json
* @param {Number} x 目标位置的X坐标
* @param {Number} y 目标位置的Y坐标
* @param {Number} d 传送结束后的方向。方向定义同小键盘的数字。
* @param {Number} fadeType 渐变类别。0为黑色,1为白色,不设置或者大于1为无渐变。
*/
Game_Player.prototype.reserveTransfer(mapId, x, y, d, fadeType)
[/pre]
随机:
[pre lang="javascript"]
/**
* 生成一个范围在0和max-1之间的随机整数。
*
* @static
* @param {Number} max 上限(不包含在内)
* @return {Number} 一个随机整数
*/
Math.randomInt(max)
[/pre]

要获得一个当前的Game_Player对象,只需要使用内置的全局变量$gamePlayer就可以。
所以你想要做的事,可以这样做:
[pre lang="javascript"]
$gamePlayer.reserveTransfer(mapId, min_x+Math.randomInt(max_x), min_y+Math.randomInt(max_y))
[/pre]
其中,mapId是目标地图的ID,min_x、max_x、min_y、max_y分别为x和y的最大最小值,没有给定方向,就默认采用之前的方向,没有渐变类别,所以一瞬间就到了。
这只是个原型,实际使用时可以在此基础上进行修改。  

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
6 小时
注册时间
2015-11-11
回帖
6
 楼主| 发表于 2016-1-25 15:38:30 | 显示全部楼层
语义噪音 发表于 2015-12-1 13:43
传送:

/*

谢谢(。◕∀◕。)
回复

使用道具 举报

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
回帖
138
发表于 2016-1-25 18:33:13 | 显示全部楼层
不会传到墙上吗····
回复

使用道具 举报

梦石
0
星屑
79
在线时间
112 小时
注册时间
2010-6-16
回帖
70
发表于 2016-1-25 22:59:05 | 显示全部楼层
chenyilindzh 发表于 2016-1-25 18:33
不会传到墙上吗····

大概只能把可以移动的地点列个数组,然后再随机选择一个数组移动了,{:2_257:}
回复

使用道具 举报

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
回帖
729
发表于 2016-1-25 23:12:24 | 显示全部楼层
變量隨機1~10
分別設定1~10每個傳送的地點
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部