设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4233|回复: 7
打印 上一主题 下一主题

[已经解决] 如何打开随机开关

[复制链接]

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
跳转到指定楼层
1
发表于 2016-2-18 09:12:47 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
是这样的,我做了个小游戏,这有150个开关,根据随机数判定打开某一开关,但是纯事件工作量太大了,所以想问问有什么办法能打开随机开关呢?比如随机数是1,打开101号开关,随机数是2,打开102开关···

Lv1.梦旅人

笑问情缘

梦石
0
星屑
73
在线时间
238 小时
注册时间
2006-5-3
帖子
640
8
发表于 2016-2-18 18:33:29 手机端发表。 | 只看该作者
随机开关很容易吧,直接用变量控制,不就可以了吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
7
发表于 2016-2-18 13:31:25 | 只看该作者
chenyilindzh 发表于 2016-2-18 10:30
这个运行了会报错········

那是因為妳還有設定其他條件吧

不然只是用變量來控制的話 其他事件和東西都設定好的話 一兩個小時就設定好了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
6
发表于 2016-2-18 12:31:26 | 只看该作者
也不過150個 其實妳研究這些代碼的時間早就弄好了

点评

我弄一个区域中的25个都弄了3天多··  发表于 2016-2-18 13:22
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
306 小时
注册时间
2014-8-5
帖子
416
5
发表于 2016-2-18 11:52:35 | 只看该作者
chenyilindzh 发表于 2016-2-18 10:30
这个运行了会报错········
  1. var num1=Math.floor(Math.random()*25+1);
  2. for(var i=0; i<num1;i++)
  3. {
  4.    var num2=Math.floor(Math.random()*25+101);
  5.    if($gameSwitches.value(num2) ==true)
  6.    $gameSwitches.setValue(num2,false);
  7. }
复制代码

点评

3q  发表于 2016-2-18 13:22
  点我进入    
       ↓      
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
4
 楼主| 发表于 2016-2-18 10:30:25 | 只看该作者
本帖最后由 chenyilindzh 于 2016-2-18 11:27 编辑

这个运行了会报错········

QQ图片20160218112631.png (6.41 KB, 下载次数: 25)

QQ图片20160218112631.png

点评

你看看这样写对不对,判断某开关是否开启要怎么写呢?  发表于 2016-2-18 10:48
看2楼,跳转那个 你用个专门开关的分歧 写下就好了  发表于 2016-2-18 10:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
306 小时
注册时间
2014-8-5
帖子
416
3
发表于 2016-2-18 09:31:11 | 只看该作者
本帖最后由 夏末渐离 于 2016-2-18 09:53 编辑
  1. /*:
  2. * @author 夏末渐离
  3. * @help
  4. * 需为UTF8编码
  5. * 使用插件指令RandomSwitch即可打开一个在101-250范围的随机开关
  6. * 并且把每次改变的开关ID记录到150号变量的值
  7. */
  8. (function(){
  9.     var GetRandomNum=function(Min,Max)
  10.     {
  11.         var Range = Max - Min;
  12.         var Rand = Math.random();
  13.         return(Min + Math.round(Rand * Range));
  14.     };
  15.     var XM_openRandomSwitches=function(){
  16.         var currentNum=GetRandomNum(101,250);
  17.         $gameVariables.setValue(150,currentNum);
  18.         $gameSwitches.setValue(currentNum,true);
  19.     };
  20.     var XM_160218_pluginCommand=Game_Interpreter.prototype.pluginCommand;
  21.     Game_Interpreter.prototype.pluginCommand = function(command, args) {
  22.         XM_160218_pluginCommand.call(this,command,args);
  23.         if(command=="RandomSwitch")
  24.             XM_openRandomSwitches();
  25.     };
  26. }());
复制代码

点评

编程最重要的是什么  发表于 2016-2-18 11:00
  点我进入    
       ↓      
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1244
在线时间
898 小时
注册时间
2014-12-4
帖子
379
2
发表于 2016-2-18 09:24:48 | 只看该作者
本帖最后由 翻滚牛宝宝 于 2016-2-18 10:44 编辑
  1. var num=Math.floor(Math.random()*150+101);
  2. if ( $gameSwitches.Value(num) ==true)
  3. {
  4. $gameSwitches.setValue(num, true/false);
  5. $gameVariables.setValue(num, value);

  6. }
复制代码
直接写在事件页 脚本 里就好了

点评

跳转的用个开关分歧吧  发表于 2016-2-18 10:41
是的  发表于 2016-2-18 10:33
第一行设置变量 ,第二行true打开false关闭么  发表于 2016-2-18 10:21
我以为是1-150。。  发表于 2016-2-18 09:52
他是要打开101-250号开关  发表于 2016-2-18 09:50

评分

参与人数 2星屑 +176 收起 理由
余烬之中 + 166 认可答案
夏末渐离 + 10 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-23 15:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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