查看: 2129|回复: 3

[已经解决] 不用事件,怎么在地图刷新脚本中添加帧数等待

[复制链接]
梦石
0
星屑
50
在线时间
31 小时
注册时间
2008-8-2
回帖
75
发表于 2014-7-8 10:39:54 | 显示全部楼层 |阅读模式

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

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

×
例如当判断出1号开关打开,就等待20帧后关闭1号开关。如果只在 scene_map 脚本的 def_update 下设置,应该怎么写?

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
回帖
1643

开拓者

发表于 2014-7-8 12:11:46 | 显示全部楼层
本帖最后由 kuerlulu 于 2014-7-8 13:12 编辑
  1. if $game_switches[1]
  2.   $game_variables[1] == 20 ? ($game_switches[1] = false;$game_variables[1] = 0) : $game_variables[1] += 1
  3. end
复制代码
还是未测试, 已修改.

点评

谢谢!  发表于 2014-7-8 15:51
这个要在事件中,设置变量1每过一帧加 1 吧?!  发表于 2014-7-8 15:41
↓说得对, 我改一下  发表于 2014-7-8 13:08
用局部变量这就不对了吧?  发表于 2014-7-8 12:17

评分

参与人数 1星屑 +100 收起 理由
︶ㄣ牛排ぶ + 100 认可答案

查看全部评分


  -fk: -azogi:
回复

使用道具 举报

梦石
0
星屑
50
在线时间
31 小时
注册时间
2008-8-2
回帖
75
 楼主| 发表于 2014-7-8 13:07:00 | 显示全部楼层
kuerlulu 发表于 2014-7-8 12:11
同样未测试, 有什么不对请指出

在Scene_Map中添加以下脚本,然后进游戏执行一事件打开1号开关,出错了:undefined local variable or method 'qaq' for #<Scene_Map:0x1b77080.>
  1. if $game_switches[1] == true
  2.   qaq.nil? ? qaq = 0 : qaq == 20 ?
  3.   ($game_switches[1] = false; qaq = 0) : qaq += 1
  4. end
复制代码

点评

2L已修改, 占用了一个游戏变量1  发表于 2014-7-8 13:13
回复

使用道具 举报

梦石
0
星屑
52
在线时间
704 小时
注册时间
2011-12-27
回帖
858
发表于 2014-7-8 13:24:06 | 显示全部楼层
本帖最后由 zeldafd 于 2014-7-8 13:41 编辑
  1. def wait(frame)
  2.     i = 0;
  3.     while( i <= frame )
  4.       Fiber.yield();
  5.       i+= 1;
  6.     end
  7.   end
复制代码
之前自己找事件器中腳本時取出來的, 應該沒問題

点评

這是JAVA和PHP惹來的禍  发表于 2014-7-8 14:41
ruby表示换行不需要分号, while后面不需要括号, 以及阁下连end都没对齐【撸代码洁癖= =  发表于 2014-7-8 14:36
請問打分號有問題?是你沒這樣的習慣而已 請問你有測試? 你是鬧哪樣????  发表于 2014-7-8 14:24
分号是闹哪样, Fiber是闹哪样, 以及这个wait难道不是定住整个画面frame帧吗  发表于 2014-7-8 14:16
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部