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

Project1

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

[已经解决] 求事件运行刷新的调用函数名……

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2011-1-11
帖子
19
跳转到指定楼层
1
发表于 2011-10-26 06:22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     else  
      a = Window_Base.new(80,304,480,160)
      a.contents = Bitmap.new(a.width-32, a.height-32)
      a.contents.draw_text(0,0,240,32,"啊哈哈哈哈哈")
      a.opacity = 160
      @wait_count =100
(      for i in  1..30
        Graphics.update
       {event运行的刷新}
      end                          )
      for i in 0..10
        a.opacity -= 30
        a.contents_opacity -= 30
        Graphics.update     
      end
      a.dispose
    end

恩……没了那个刷新的话,假设我有一个并行处理的事件正在运行,当我利用括号内的内容来调节“啊哈哈哈哈哈”的显示时长时,并行处理的事件会暂停……

于是我想,在Graphics.update的同时,也让event一起updata……
问题是我哪知道它的调用函数名是什么……就这个Graphics.update我还是从别的脚本里copy的……恩,物品获得提示的脚本


我只是略学过pascal,有点编程底子……
ruby是昨天才开始接触,因为某个正在做游戏但不会写脚本的女王发下来的任务的关系……勿喷


yeyunfeiyuyue于2011-10-26 06:27补充以下内容:
差点忘了说,要是有能不碍到并行处理的事件,又可以控制哈哈哈哈显示时长的方法也行

Lv2.观梦者

(?????)

梦石
0
星屑
728
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

2
发表于 2011-10-26 08:54:28 | 只看该作者
虽然同时面向对象的语言,pascal和ruby区别可是很多的。
另外别以为RGSS就是ruby,区别可是很多的。(众:你烦不烦)
另外只要把父类指定为Scene_Map就可以刷新地图事件了吧(未测试)
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2011-1-11
帖子
19
3
 楼主| 发表于 2011-10-27 04:03:24 | 只看该作者
各种压力的猫君 发表于 2011-10-26 08:54
虽然同时面向对象的语言,pascal和ruby区别可是很多的。
另外别以为RGSS就是ruby,区别可是很多的。(众: ...

好吧,原来Graphics.update君出自Scene_Map……
不过大体看了一下Scene_Map里的内容……
那里面的update,似乎主要是以调用菜单、地图切换以及地图块过渡为主,不包含事件的处理……
反正我调用里面的东西是不起作用

父类是什么?


yeyunfeiyuyue于2011-10-27 04:15补充以下内容:
我看来看去觉得最理想的调用对象还是Game_Event里的refresh啦……
不过看上去好像只处理一个事件?调用它去一个一个处理每个事件的上一层又不知道在哪……
况且我也不知道这玩意怎么调用


yeyunfeiyuyue于2011-10-27 04:17补充以下内容:
好吧找到了,Game_Map里的updata,各种囊括…………
问题是这丫怎么调用?ruby的函数调用真神奇…………
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
255
在线时间
227 小时
注册时间
2009-7-26
帖子
216
4
发表于 2011-10-27 04:34:23 | 只看该作者
本帖最后由 darkscout3000 于 2011-10-26 15:34 编辑
yeyunfeiyuyue 发表于 2011-10-26 15:03
好吧,原来Graphics.update君出自Scene_Map……
不过大体看了一下Scene_Map里的内容……
那里面的update ...


那啥⋯⋯lz你先去学习下面向对象的编程⋯⋯ruby的方法调用一点都不诡异,诡异的是RGSS,是RMXP自带的代码⋯⋯(写的太垃圾了)
不要吐槽我⋯⋯
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2011-1-11
帖子
19
5
 楼主| 发表于 2011-10-27 05:31:56 | 只看该作者
    # 更新地圖事件
    for event in @events.values
      event.update
    end
    # 更新公共事件
    for common_event in @common_events.values
      common_event.update
    end

我现在只想知道,values哪弄
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
6
发表于 2011-10-27 23:15:40 | 只看该作者
你不能这样写 Graphics.update 会暂停你的世界 通常你这样写只用在过度整个画面


     else  
      a = Window_Base.new(80,304,480,160)
      a.contents = Bitmap.new(a.width-32, a.height-32)
      a.contents.draw_text(0,0,240,32,"啊哈哈哈哈哈")
      a.opacity = 160
      @wait_count =100
(      for i in  1..30
        Graphics.update
       {event运行的刷新}
      end                          )
      for i in 0..10
        a.opacity -= 30
        a.contents_opacity -= 30
        Graphics.update     
      end
      a.dispose

    end

#改为(红色改蓝色)

    else  
      pop
    end

#同类(class)中 新增

def pop
  @a = Window_Base.new(80,304,480,160)
  @a.contents = Bitmap.new(a.width-32, a.height-32)
  @a.contents.draw_text(0,0,240,32,"啊哈哈哈哈哈")
  @a.opacity = 160
  @wait_pop = 30
  @wait_count =100
end

def pop_update
  @wait_pop -= 1
  if @wait_pop < 0
    @a.opacity -= 30
    @a.contents_opacity -= 30
  end
  pop_dispose if @a.opacity == 0
end

def pop_dispose
  @a.dispose
  @a = nil
end

def update
  pop_update if @a != nil  #<=在同类的update里加入这1行
end                        #  如果你的类里没有update
                           #  那需要在调用到这个类的变量的那个类的update里写上:
                           #  调用到这个类的变量.update
                           #  上面最后2句我说不清楚你自己理解


回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2011-1-11
帖子
19
7
 楼主| 发表于 2011-10-28 06:07:31 | 只看该作者
wbsy8241 发表于 2011-10-27 23:15
你不能这样写 Graphics.update 会暂停你的世界 通常你这样写只用在过度整个画面

恩……谢了
程序本身是很不错的参考,更重要的是终于让我注意到了,如果不去Graphics.update,显示内容就会自动消失的理由……
马币的原来我一直都在用临时变量啊!原来ruby也可以设置函数啊!
attr_accessor :cloudy,一句话拯救世界…………
总之,谢了,设置一个wait计数,在每帧刷新中判定,不错的思路啊,收下了……
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 00:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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