查看: 1685|回复: 2

[已经过期] 实践50.times中的一些小问题

[复制链接]
梦石
0
星屑
50
在线时间
492 小时
注册时间
2013-6-15
回帖
164
发表于 2014-2-13 15:09:29 | 显示全部楼层 |阅读模式

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

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

×
为了得到50.times这个等待的判定,我做了几次试验,第一次
  1. class Scene_Map
  2.    GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  3.   alias keyboard update
  4.   def update
  5.     keyboard
  6.      if Input.press?(:C)
  7.       $game_actors[1].set_graphic("Actor1", 1, "Actor1", 1)
  8.       $game_player.refresh
  9.       50.times {
  10.         Graphics.update
  11.       }
  12.      end
  13.   end
  14. end
复制代码
然后测试,按下Z,然后的出的是先等待,再换角色图像,然后又改了一下
  1. class Scene_Map
  2.    GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  3.   alias keyboard update
  4.   def update
  5.     keyboard
  6.      if Input.press?(:C)
  7.       $game_actors[1].set_graphic("Actor1", 1, "Actor1", 1)
  8.       $game_player.refresh
  9.        if $game_actors[1].set_graphic("Actor1", 1, "Actor1", 1)
  10.         50.times {
  11.          Graphics.update
  12.         }
  13.        end
  14.      end
  15.   end
  16. end
复制代码
结果还是先等待,那么为什么明明是更新角色图像的代码在前,还是会先等待,再变角色图像呢?

点评

找到刷新的代码,手动刷新,否则是没办法的  发表于 2014-2-13 17:57
梦石
0
星屑
122
在线时间
552 小时
注册时间
2012-8-18
回帖
1392
发表于 2014-2-13 17:28:21 | 显示全部楼层
你修改的是$game_XXX,也就是说你修改的是数据,真正的图像修改在别的地方,如果我没猜错的话是在某个类的update里面

点评

en……该怎么改?  发表于 2014-2-13 17:38
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复

使用道具 举报

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2014-2-13 18:55:35 | 显示全部楼层
50.times {
  $game_map.update(true)
  $game_player.update
  $game_timer.update
  @spriteset.update
  Graphics.update
}

点评

谢谢sion大,不过貌似不去掉 $game_player.update这一句会出现奇怪的效果  发表于 2014-2-13 20:58
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部