| 赞 | 2 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2020-7-27 |
| 在线时间 | 1379 小时 |
- 梦石
- 0
- 星屑
- 76
- 在线时间
- 1379 小时
- 注册时间
- 2012-7-5
- 回帖
- 1643

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 kuerlulu 于 2014-12-6 20:43 编辑
【不知道这算不算卖萌,逃
喵喵喵[pre lang="ruby" line="1"]#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
# 游戏中全部画面的超级类。
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
start # 开始处理
perform_transition # 执行渐变
post_start # 开始后处理
Input.update # 更新输入讯息
loop do
Graphics.update # 更新游戏画面
Input.update # 更新输入讯息
update_all_windows # 更新所有窗口
update # 更新画面
break if $scene != self # 切换画面时中断循环
end
Graphics.update
pre_terminate # 结束前处理
Graphics.freeze # 准备渐变
dispose_all_windows # 释放所有窗口
terminate # 结束处理
end
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
def start
end
#--------------------------------------------------------------------------
# ● 执行渐变
#--------------------------------------------------------------------------
def perform_transition
Graphics.transition(transition_speed)
end
#--------------------------------------------------------------------------
# ● 获取渐变速度
#--------------------------------------------------------------------------
def transition_speed
return 10
end
#--------------------------------------------------------------------------
# ● 开始后处理
#--------------------------------------------------------------------------
def post_start
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
end
#--------------------------------------------------------------------------
# ● 结束前处理
#--------------------------------------------------------------------------
def pre_terminate
end
#--------------------------------------------------------------------------
# ● 结束处理
#--------------------------------------------------------------------------
def terminate
end
#--------------------------------------------------------------------------
# ● 更新所有窗口
#--------------------------------------------------------------------------
def update_all_windows
instance_variables.each do |varname|
ivar = instance_variable_get(varname)
ivar.update if ivar.is_a?(Window)
end
end
#--------------------------------------------------------------------------
# ● 释放所有窗口
#--------------------------------------------------------------------------
def dispose_all_windows
instance_variables.each do |varname|
ivar = instance_variable_get(varname)
ivar.dispose if ivar.is_a?(Window)
end
end
#--------------------------------------------------------------------------
# ● 截图做下一个画面的背景
#--------------------------------------------------------------------------
def snapshot_for_background
$game_temp.background_bitmap.dispose
$game_temp.background_bitmap = Graphics.snap_to_bitmap
$game_temp.background_bitmap.blur
end
#--------------------------------------------------------------------------
# ● 生成菜单画面背景
#--------------------------------------------------------------------------
def create_menu_background
@menuback_sprite = Sprite.new
@menuback_sprite.bitmap = $game_temp.background_bitmap
@menuback_sprite.color.set(16, 16, 16, 128)
update_menu_background
end
#--------------------------------------------------------------------------
# ● 释放菜单画面背景
#--------------------------------------------------------------------------
def dispose_menu_background
@menuback_sprite.dispose
end
#--------------------------------------------------------------------------
# ● 更新菜单画面背景
#--------------------------------------------------------------------------
def update_menu_background
end
end
#==============================================================================
# ■ Scene_Miao
#------------------------------------------------------------------------------
# 。
#==============================================================================
class Scene_Miao < Scene_Base
def start
Graphics.frame_rate = 60
@sprites = Array.new(30) do |n|
sprite = Sprite.new
sprite.bitmap = Bitmap.new 32, 32
#sprite.bitmap.fill_rect(sprite.bitmap.rect, Color.new(255, 120, 0))
#sprite.bitmap.fill_rect(Rect.new(1, 1, 30, 30), Color.new(0, 0, 0, 160))
sprite.bitmap.font.color = Color.new(255, 120, 0)
sprite.bitmap.draw_text(sprite.bitmap.rect, "喵", 1)
sprite.opacity = n * 8
sprite.zoom_x = sprite.zoom_y = n * 0.1
sprite.blend_type = 1
sprite
end
@x = @y = 0
@vx = @vy = 0
@speed = 1
end
def update
@vx = Input.press?(Input::RIGHT) ? 8 : Input.press?(Input::LEFT) ? -8 : 0
@x += @vx
@vy = -16 if Input.trigger?(Input::UP)
if @y <= 256
@y += @vy += 1
@y = 256 if @y > 256
else
@vy = 0
end
@x = 608 if @x > 608
@x = 0 if @x < 0
@sprites[29].x, @sprites[29].y = @x, @y
@speed = rand(3) + 1
29.times do |n|
@sprites[n].x = @sprites[n+1].x + rand(@speed*2+1) - @speed
@sprites[n].y = @sprites[n+1].y + rand(@speed*4+1) - @speed*3
@sprites[n].angle = @sprites[n+1].angle + rand(@speed*4+1) - @speed*2
end
end
def terminate
@sprites.each { |s| s.bitmap.dispose; s.dispose }
end
end
Scene_Miao.new.main until false[/pre] |
评分
-
查看全部评分
|