Project1
标题:
想制作标题上的眨眼效果,请问怎么做到固定时间循环一...
[打印本页]
作者:
吃麦子
时间:
2017-5-2 12:18
标题:
想制作标题上的眨眼效果,请问怎么做到固定时间循环一...
动画的循环我已经做出来了。。。脚本不是特别会。。连蒙带猜地写出了循环,但是不知道要怎么固定间隔时间。。希望有人能帮帮我。。。谢谢。。
脚本大概这个样子
class Sprite_yisong < Sprite_Base
include MK::MK_Title
def initialize(viewport=nil)
@timer=0
@wait=0
super(viewport)
@yisong=Sprite.new
@yisong.bitmap=Bitmap.new(65,161)
@yisong.y=70
#初始化图片
end
#更新
def update
@wait+=1
@timer+=1 if @wait%10==0
update_yisong
end
end
#更新图片
def update_yisong
@yisong.bitmap.clear
bmp=Cache.mk_title(GRAPHICS[1])
rect=Rect.new(@timer%4*bmp.width/4,0,bmp.width/4,bmp.height)
@yisong.bitmap.blt(0,0,bmp,rect)
end
end
然后在后面的场景类里
update方法里面调用了更新
然后会不断循环,我想要间隔时间循环一次。。。试了几个思路都不太行。。。
作者:
喵呜喵5
时间:
2017-5-2 12:46
仅提供一个简单的思路:
def initialize(viewport=nil)
# 各种初始化balabalabala
# 初始化状态机
@next_state_change_time = 0 # 距离下一次状态切换剩余时间
@state = 0 # 当前角色眼睛所在状态
end
def update
# 各种更新balabalabala
# 刷新下一次切换状态的剩余时间
@next_state_change_time -= 1
# 时间到时,切换状态
update_blink if @next_state_change_time < 0
end
def update_blink
# 更新眨眼的图片balabalabala
# 设置当前的状态以及下一次切换状态的时间
case @state
when 0 then @state, @next_state_change_time = 1, 120
when 1 then @state, @next_state_change_time = 2, 20
when 2 then @state, @next_state_change_time = 3, 20
when 3 then @state, @next_state_change_time = 0, 360
end
end
复制代码
作者:
吃麦子
时间:
2017-5-2 13:01
喵呜喵5 发表于 2017-5-2 12:46
仅提供一个简单的思路:
谢谢你!!
我去试试!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1