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

Project1

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

[已经解决] 关于脚本中使事件等待X帧

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2009-3-7
帖子
109
跳转到指定楼层
1
发表于 2011-7-25 18:16:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在F11脚本中(不是事件脚本)设置,按对应按键后某事件变为另一个图等待3帧后又变一次,但是@wait_count = 6不起作用,而且事件也只变了一个图(后面那个,前面那次不认),这要怎么解决?请教!!

点评

吾辈是指你的编程方向.  发表于 2011-7-26 13:56
你再看看吧……=。=,我奇怪为什么你这么不爱回帖,这样我更新帖子你也收不到提醒,还得我点评一下提醒你。  发表于 2011-7-25 23:23
事件你也用这个,事件-脚本"XX.times{Graphics.update}"  发表于 2011-7-25 21:52
猫猫鱼的游戏
                                点此进入测试版发布帖

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42431
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

6
发表于 2011-7-26 08:27:07 | 只看该作者
本帖最后由 fux2 于 2011-7-26 08:31 编辑
熊猫 发表于 2011-7-25 18:52
你那个@wait_count只适用于事件。(而且也不是直接用的……)
脚本的话:使用:XX是等待帧数,40帧一秒。
至 ...


脚本补丁
  1. class Interpreter
  2.   attr_accessor   :wait_count
  3. end
复制代码
事件脚本
  1. self.wait_count = 20
复制代码
放进公共事件里.

当然我有审题清楚,不过楼主想重写行走图方式的话你的方向都走错了.
甚至从楼主的脚本来看根本就连基本的概念都没学完就开始写了.
急于求成是很难成功的.

点评

在4方向的基础上修改的,一共用了2张行走图,转向时先变为行走图2,再变为行走图1,这存在方向错误?  发表于 2011-7-26 10:48
内啥= =熊猫君,不好意思,点错回复= =  发表于 2011-7-26 08:27
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
673 小时
注册时间
2006-10-3
帖子
1795

开拓者

5
发表于 2011-7-26 00:10:37 | 只看该作者
这样也好办啊。。Timer原理
if @pattern == 0
  name=XXX
end
if @pattern == 1
  name=YYY
end
if $Timer >= 120
  @pattern += 1
  @pattern = @pattern % 2
  $Timer = 0
end

找一个正被调用的update
插入代码
$Timer+=1
记得update调用次数和刷新次数一样吧?(不一样你就按情况改数就行)
这样既不会卡又可以几帧一变

点评

不该用全局变量……你改一下@  发表于 2011-7-26 00:12
( ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ω ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้【看猫君玩,我也搞一只】)
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
4
发表于 2011-7-25 23:43:43 | 只看该作者
在@wait_count = 6下面加上
  1. if @wait_count > 0
  2.   @wait_count -= 1
  3.   return
  4. end
复制代码

点评

return过后那case direction 判断也就终止了,没法自动判断第2次,那么角色变为"YYYY"这图也实现不了了  发表于 2011-7-25 23:57

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2009-3-7
帖子
109
3
 楼主| 发表于 2011-7-25 23:31:34 | 只看该作者
本帖最后由 denis466 于 2011-7-25 23:32 编辑

这是脚本其中一部分
    case direction
          when 2
            move_down
          when 4
            @tile_id=0
            @character_name="XXXX"
            @character_hue=@character_hue
            @pattern=0         
            @direction=2


            3.times{Graphics.update}

            @tile_id=0
            @character_name="YYYY"
            @character_hue=@character_hue
            @pattern=0         
            @direction=2
            ……

当方向向左时,本来是要改一次图然后等待3帧再改一次图的,结果两个功能都实现不了。
猫猫鱼的游戏
                                点此进入测试版发布帖
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
673 小时
注册时间
2006-10-3
帖子
1795

开拓者

2
发表于 2011-7-25 18:52:50 | 只看该作者
本帖最后由 熊猫 于 2011-7-25 18:55 编辑

你那个@wait_count只适用于事件。(而且也不是直接用的……)
脚本的话:
  1. p "点击确定2秒后你将会看到下一个对话框"
  2. 80.times{Graphics.update}
  3. p "我是的二个对话框"
复制代码
使用:
  1. XX.times{Graphics.update}
复制代码
XX是等待帧数,40帧一秒。
至于你说第一个图片没执行,我分析可能是没有正确设置等待直接到了第二个,所以你就没看到第一个


熊猫于2011-7-25 23:22补充以下内容:
唉……您咋就不能回个贴,还得逼我触发自动合并帖子系统。。
Main插入脚本,复制以下内容
  1. class Interpreter
  2.   def delay(frames)
  3.     @wait_count += frames
  4.   end
  5. end
复制代码
然后事件调用脚本:
  1. $game_system.map_interpreter.delay(80) #停顿80帧
复制代码
满足你的要求了吧

点评

都说了不在事件里用,是F11脚本编辑器里直接编辑的  发表于 2011-7-26 00:00
你再看看吧……=。=,我奇怪为什么你这么不爱回帖,这样我更新帖子你也收不到提醒,还得我点评一下提醒你。  发表于 2011-7-25 23:23
我的意思是,在F11脚本里直接设置,因为要同时进行的事件很多,如果并行就太卡了,所以只能在脚本里更改,但是如果用这个的话,就全卡住不动了  发表于 2011-7-25 22:58
用了XX.times{Graphics.update}后,游戏就完成等待了,可如果要实现只有那个事件等待呢?  发表于 2011-7-25 19:40
( ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ω ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้【看猫君玩,我也搞一只】)
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 16:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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