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

Project1

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

关于游戏开始前显示LOGO的一点想法

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-9-6
帖子
108
跳转到指定楼层
1
发表于 2007-1-13 04:15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
  def main
    # 播放LOGO音效
    Audio.se_play("Audio/SE/079-Monster01.ogg")
    # 生成标题图形
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
    # 生成位置为画面中央
    @sprite.x = (640 - @sprite.bitmap.width) / 2
    @sprite.y = (480 - @sprite.bitmap.height) / 2
    # 透明度(0为完全透明)
    @sprite.opacity = 255
    # 执行过渡
    Graphics.transition

以上是在开始的Title前添加图片和声音脚本中的一小段
我们可以知道
@sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
是显示图片的代码,我想了一下,我们是不是可以让它再多显示几张图片?而且可以让他停留指定的时间?而且可以自动消失?那么应该在
@sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
后面加什么代码呢?大家来研究研究

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-9-6
帖子
108
2
 楼主| 发表于 2007-1-13 04:15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
  def main
    # 播放LOGO音效
    Audio.se_play("Audio/SE/079-Monster01.ogg")
    # 生成标题图形
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
    # 生成位置为画面中央
    @sprite.x = (640 - @sprite.bitmap.width) / 2
    @sprite.y = (480 - @sprite.bitmap.height) / 2
    # 透明度(0为完全透明)
    @sprite.opacity = 255
    # 执行过渡
    Graphics.transition

以上是在开始的Title前添加图片和声音脚本中的一小段
我们可以知道
@sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
是显示图片的代码,我想了一下,我们是不是可以让它再多显示几张图片?而且可以让他停留指定的时间?而且可以自动消失?那么应该在
@sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
后面加什么代码呢?大家来研究研究

Lv1.梦旅人

逃兵

3
发表于 2007-1-13 04:39:26 | 只看该作者
恭喜楼主,答对了!
「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
2 小时
注册时间
2006-11-10
帖子
931
4
发表于 2007-1-13 04:43:26 | 只看该作者
这个我有做教学orz

提供脚本一个(显示两张图,可以按步骤添加):

  1. #==============================================================================
  2. # ■ Scene_Logo
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面之前的LOGO的类。
  5. #==============================================================================

  6. class Scene_Logo
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 生成标题图形
  12.    @sprite1 = Sprite.new
  13.    @sprite1.bitmap = RPG::Cache.title("logo1")
  14.    @sprite2 = Sprite.new
  15.    @sprite2.bitmap = RPG::Cache.title("logo2")
  16.     # 设定图片坐标
  17.    @sprite1.x = 0
  18.    @sprite1.y = 0
  19.    @sprite2.x = 0
  20.    @sprite2.y = 0
  21.     # 透明度(0为完全透明)
  22.    @sprite1.opacity = 0
  23.    @sprite2.opacity = 0
  24.     # 记录画面播放步骤
  25.     logo = 0
  26.     # 画面停留计数
  27.     wait = 0
  28.     # 执行过渡
  29.     Graphics.transition
  30.     # 主循环
  31.     loop do
  32.       # 刷新游戏画面
  33.       Graphics.update
  34.       # 根据播放步骤来播放LOGO
  35.       case logo
  36.       when 0 #——第一阶段,淡入第一张图
  37.        @sprite1.opacity += 5 #——每次将1号图的透明度+5
  38.        if @sprite1.opacity == 255 #——当1号图完全显示的时候
  39.           wait += 1 #——开始画面停留计数
  40.          if wait >= 60
  41.             wait = 0
  42.             logo = 1 #——进到第二阶段
  43.          end
  44.        end
  45.       when 1 #——第二阶段,淡出第一张图。接下来的语句跟when 0里面的同理
  46.        @sprite1.opacity -= 5
  47.        if @sprite1.opacity == 0
  48.          wait += 1
  49.         if wait >= 40
  50.             wait = 0
  51.             logo = 2
  52.         end
  53.        end
  54.       when 2 #——淡入第二张图
  55.        @sprite2.opacity += 5
  56.        if @sprite2.opacity == 255
  57.           wait += 1
  58.          if wait >= 60
  59.             wait = 0
  60.             logo = 3
  61.          end
  62.        end
  63.       when 3 #——淡出第二张图
  64.        @sprite2.opacity -= 5
  65.        if @sprite2.opacity == 0
  66.          wait += 1
  67.         if wait >= 20
  68.             wait = 0
  69.             logo = 4
  70.         end
  71.        end
  72.       when 4 #——logo播放完毕,转入标题画面
  73.          $scene = Scene_Title.new #——呼出标题画面的语句
  74.       end #——结束case语句

  75.       # 刷新输入信息
  76.       Input.update
  77.       # 刷新画面
  78.       update
  79.       # 如果画面被切换就中断循环
  80.       if $scene != self
  81.         break
  82.       end
  83.     end
  84.     # 准备过渡
  85.     Graphics.freeze
  86.     # 释放LOGO图形
  87.    @sprite1.bitmap.dispose
  88.    @sprite1.dispose
  89.    @sprite2.bitmap.dispose
  90.    @sprite2.dispose
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 刷新画面
  94.   #--------------------------------------------------------------------------
  95.   def update
  96.     # 按下 A,B,C,下,上,左,右 键的情况下
  97.     if Input.trigger?(Input::A)
  98.       refresh
  99.     end
  100.     if Input.trigger?(Input::B)
  101.       refresh
  102.     end
  103.     if Input.trigger?(Input::C)
  104.       refresh
  105.     end
  106.     if Input.trigger?(Input::DOWN)
  107.       refresh
  108.     end
  109.     if Input.trigger?(Input::UP)
  110.       refresh
  111.     end
  112.     if Input.trigger?(Input::RIGHT)
  113.       refresh
  114.     end
  115.     if Input.trigger?(Input::LEFT)
  116.       refresh
  117.     end
  118.     def refresh
  119.       $scene = Scene_Title.new
  120.     end
  121.   end
  122. end
复制代码
……………………啊咧?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-9-6
帖子
108
5
 楼主| 发表于 2007-1-13 06:21:49 | 只看该作者
呵呵 不好意思 之前没看到你做的哈
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 14:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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