Project1
标题:
东方绯想天式飘动title里面读档按钮不可用的问题
[打印本页]
作者:
mcow
时间:
2009-7-27 21:18
标题:
东方绯想天式飘动title里面读档按钮不可用的问题
我把存档改到Saves文件夹里面了,然后把东方绯想天式飘动title里面34行改成下面这个样子
if LOADDATA and Dir.glob('Saves\Save*.rvdata').empty? #读档按钮不可用时的颜色修正,可以根据图片的特点来修改以取得比较好的视觉效果
复制代码
即使里面有存档读档按钮还是灰色,到底该怎么改?附上整个代码
#东方绯想天式飘动title
class Window_Title < Window_Selectable
#--------------------------------------------------------------------------
# 定义常量
#--------------------------------------------------------------------------
AMP = -50 #幅度,正数为向右,负数为向左
WAITTIME = 300 #等待时间,单位:帧
SPEED = 300 #飘动速度,值越大越慢
OX = [130,150,170] #初始横坐标
LOADDATA = nil #读档指令的位置,如果不使用无存档时变暗功能,把此项设为nil
WAIT_PER_PERIOD = false #每次飘动完成后等待
#--------------------------------------------------------------------------
# 初始化
#--------------------------------------------------------------------------
def initialize(x = -16, y = 250)
bitmap = Cache.system("title_command")
@width = bitmap.width
@height= bitmap.height
super(x, y, Graphics.width - 2 * x, @height + 32)
self.opacity = 0
@index = 0
@column_max = 1
@item_max = OX.size
@height /= @item_max
@sprites = []
OX.size.times do |index|
sprite = Sprite.new
sprite.bitmap = bitmap
sprite.src_rect.set(0, @height * index, bitmap.width, @height)
sprite.y = y + @height * index + 16
sprite.x = OX[index]
@sprites.push(sprite)
end
if LOADDATA and Dir.glob('Saves\Save*.rvdata').empty? #读档按钮不可用时的颜色修正,可以根据图片的特点来修改以取得比较好的视觉效果
@sprites[LOADDATA].opacity = 128 #半透明
@sprites[LOADDATA].tone = Tone.new(0,0,0,255) #灰度化
end
@move_x = []
@wait_time = 0
@move_index = [0,0,0,0]
SPEED.times {|index|@move_x.push((Math.cos(Math::PI * index / SPEED * 2) * AMP).round - AMP)}
update
end
#--------------------------------------------------------------------------
# 更新
#--------------------------------------------------------------------------
def update
last_index = @index
super
if @index != last_index
@wait_time = 0
@stopping = true
end
if @move_index.all? {|index|index == 0}
if @wait_time > WAITTIME
sprite_move(0)
@wait_time = 0
@stopping = true if WAIT_PER_PERIOD
else
@stopping = false
@wait_time += 1
end
else
sprite_move(0) unless @stopping and @move_index[0] == 0
(1...OX.size).each {|index| sprite_move(index) if @move_index[index] != 0 or @move_index[index - 1] >= 30}
end
end
#--------------------------------------------------------------------------
# 释放(再定义)
#--------------------------------------------------------------------------
def dispose
@sprites.each do |sprite|
sprite.bitmap.dispose
sprite.dispose
end
super
end
#--------------------------------------------------------------------------
# ● 获取项目要描画的矩形
# index : 项目编号
#--------------------------------------------------------------------------
def item_rect(index)
return Rect.new(0,index * @height, self.contents.width, @height)
end
#--------------------------------------------------------------------------
# 精灵的移动
#--------------------------------------------------------------------------
def sprite_move(index)
@move_index[index] < SPEED - 1 ? @move_index[index] += 1 : @move_index[index] = 0
@sprites[index].ox = @move_x[@move_index[index]]
end
end
复制代码
作者:
zh99998
时间:
2009-7-28 15:50
把\换成/或\\
作者:
风雪优游
时间:
2009-7-28 18:14
而且根本不飘= =
作者:
zh99998
时间:
2009-7-29 16:21
飘动有等待时间的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1