您现在看到的是 66RPG.com 的资源列表,若这些对您有帮助,
希望您以充值论坛VIP点数的方式为我们捐款,
您的捐款将用于本站的三台服务器托管费,以及网通100M带宽的租金

66RPG充值页面 66RPG充值页面

最近更新记录

  • 2012-02-14 : 新增两个音乐素材
  • 2012-02-14 : 新增一个游戏资源
  • 2012-02-10 : 新增3个素材资源
  • 2012-02-09 : 新增/更新16个资源

66RPG 站内搜索

精确(推荐) 全文

本站收集内容是为了便于让游戏制作爱好者互相学习与交流,所有内容的版权与著作权均归原作者/公司所有。如进行有可能引起纠纷的使用,建议您先与原作方沟通。
用流星当板擦,擦出Title标题画面
更新:2012-01-27 10:18:50 | 点击量:1052
用流星当板擦,擦出Title标题画面
脚本作者:gpra8764
版本更新:Ver 1.0
适用版本:RPG Maker XP
用流星当板擦,擦出Title标题画面


自己比较喜欢流星的,所以想到了制作一个这样的开场动画。完全自己的创意,自己的制作。所以希望不要未经许可随意取用,十分感谢大家(编按:换言之,就是如果使用的话,希望能给作者发个论坛短信告知,便于统计使用次数什么的)。

有什么好的建议的,或者想在自己作品中加入这个开场动画的,请根据我的联系方式联系我,我会及时给予答复的。
使用的时候需要更改Scene_Title,Main脚本块,所以暂时没办法写清楚用法,以后有空在我自己的BLOG空间贴出来吧……暂时给出脚本块GPRA_Scene_Star内容。
以下是脚本块GPRA_Scene_Star全部内容:

#=========================================================
# ◎ Scene_Star
#----------------------------------------------------------------------
# ◎ 流星流过刷出图片
#--------------------------------------------------------------------
# 制作者:绿梨子红苹果
# 个人主页:vbgm.9126.com
# E-Mail:xhy.01@163.com
# QQ:42378361
#==========================================================
class Scene_Star
  #------------------------------------------------------------
  # ● 主处理
  #-----------------------------------------------------------
  def main
    
    # 战斗测试的情况下
    if $BTEST
      battle_test
      return
    end
    # 载入数据库
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # 生成系统对像
    $game_system = Game_System.new
    
    # 生成显示 标题 图片用的Sprite
    @SurTitle = Sprite.new
    @SurTitle.bitmap = Bitmap.new("Graphics/Titles/" + $data_system.title_name)
    # 生成 VB Game Maker 背景图形Sprite
    @SurVBGM = Sprite.new
    @SurVBGM.bitmap = Bitmap.new("Graphics/Titles/vbgm.png")
    # 实现擦除的关键,将待擦除的背景混合方式改为减法
    @SurVBGM.blend_type =2
    # 载入 流星 位图
    @SurStar = Bitmap.new("Graphics/Titles/star.png")
    # 生成星星Sprite,星星同时最多出现8个
    @star=[nil,nil,nil,nil,nil,nil,nil,nil]
    for i in 0..7
      @star[i] = Sprite.new
      @star[i].bitmap = Bitmap.new(32,32)
      @star[i].x=-32 # 这两步设定初始值
      @star[i].y=-32 # 防止星星错误的出现在屏幕中央
      @star[i].blend_type =1 # 星星混合方式为加法
      @star[i].visible =false # 一开始不显示星星
      @star[i].bitmap.blt(0,0,@SurStar,Rect.new(0,32,32,32))
    end
    
    # 星星出现的顺序,当然不嫌麻烦的话,这里应该做成随机的
    @star_turn=
    [
    20,31,36,24,18,40,27,38,34,47,
    13,19,11,5,46,14,16,2,37,44,
    39,6,12,25,8,17,35,1,10,42,
    21,15,4,22,9,43,26,29,45,23,
    33,3,32,41,30,7,28,0
    ]
    # 记录星星出现的数量
    @star_num=0
    # 记录星星状态的矩形
    # 注:这个矩形是记录应该显示星星的哪个状态的,实在不懂的话不必追究
    @star_rect=[nil,nil,nil,nil,nil,nil,nil,nil]
    
    # 执行过渡
    Graphics.transition
    
    # 定义计数器,这里计数器是控制星星转动的
    @i=0
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面被切换就中断循环
      if $scene != self
        break
      end
      # 计数器自增
      @i+=1
    end
    
    # 准备过渡
    Graphics.freeze
    
    # 释放图形
    @SurTitle.bitmap.dispose
    @SurTitle.dispose
    @SurVBGM.bitmap.dispose
    @SurVBGM.dispose
    for i in 0..7
      @star[i].bitmap.dispose
      @star[i].dispose
    end
  end
  #-----------------------------------------------------
  # ● 刷新画面
  #-------------------------------------------------
  def update
    # 在星星数量小于8时是随机让星星出现的
    if @star_num < 8 
      # 随机出现星星,1/10概率
      if rand(10)==1
        # 取得应该出现的星星的序号
        t=@star_turn[@star_num]
        # 计算星星的开始坐标
        if t<28
          @star[@star_num].x=t * 24
          @star[@star_num].y=-32
        else
          @star[@star_num].x=640
          @star[@star_num].y=(t-28)*24
        end
        # 初始化星星的状态矩形,绘制它的起始图片以及设定它可见
        @star_rect[@star_num]=Rect.new(0,0,32,32)
        @star[@star_num].visible = true
        # 已出现的星星数目自增1
        @star_num+=1
      end
    end
    # 这段用于擦除背景
    for i in 0..7
      # 当星星的可视状态为真时
      if @star[i].visible == true
        # 将星星流过的位置背景图片擦成黑色,减法运算的时候就是透明的了
        @SurVBGM.bitmap.blt(@star[i].x,@star[i].y,@SurStar,@star_rect[i])
        # 将矩形位置移动到下一行,就是准备显示真实的黄色星星了
        @star_rect[i].y=32
      end
    end
    # 这一步显示金色的流星
    for i in 0..7
      # 当星星的可视状态为真时
      if @star[i].visible==true
        # 这里是每3帧将星星的状态转移到下一步
        if @i%3==0
          @star[i].bitmap.blt(0,0,@SurStar,@star_rect[i])
          @star_rect[i].x+=32
          @star_rect[i].x%=160
        end
        # 星星的坐标移动,让星星从右上至左下流动
        @star[i].x-=2
        @star[i].y+=2
        # 改变矩形,为了下一次的擦除背景做准备
        @star_rect[i].y=0
        # 这里是当星星流出屏幕后进行的处理
        if @star[i].x<=-32 or @star[i].y>=480
          # 当星星没有擦除屏幕完成时,47才表示48颗星星擦除完毕了
          if @star_num < 47 then
            # 这里进行的操作就和前面的添加星星的操作一样了,省略注释
            t=@star_turn[@star_num]
            if t<28
              @star[i].x=t * 24
              @star[i].y=-32
            else
              @star[i].x=640
              @star[i].y=(t-28)*24
            end
            @star_rect[i]=Rect.new(0,0,32,32)
            @star_num+=1
          # 这里是当所有星星出现完后
          else
            # 将此流出屏幕的星星可视状态设为否
            @star[i].visible=false
          end
        end
      end
    end
    # 按下 C 键的情况下,进入标题画面
    if Input.trigger?(Input::C)
      $scene = Scene_Title.new
    end
  end
  #--------------------------------------------------
  # ● 战斗测试
  #----------------------------------------------
  def battle_test
    # 载入数据库 (战斗测试用)
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0
    # 生成各种游戏对像
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # 设置战斗测试用同伴
    $game_party.setup_battle_test_members
    # 设置队伍 ID、可以逃走标志、战斗背景
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    # 演奏战斗开始 BGM
    $game_system.se_play($data_system.battle_start_se)
    # 演奏战斗 BGM
    $game_system.bgm_play($game_system.battle_bgm)
    # 切换到战斗画面
    $scene = Scene_Battle.new
  end
end

搜到一些相关内容,看看有没有有用的:

素材 : 《炼金术士梅露露~亚兰德的炼金..教程 : 显示ARPG用的窗口教程 : 新人入门录像1 初识RMXP游戏 : 赠予新手们的修改脚本的教程教程 : 大地图制作教程教程 : KKME整合系统教程 : 2种敌人战斗新的死法- -||..教程 : 人物能力状态图的多边形网状绘制教程 : 美化的动态选项窗口游戏 : 《OZ大乱斗:梦想与传说的延续..教程 : PS去行走图底色教程教程 : 日夜控制系统完美版教程 : 神秘羊皮纸教程 : RM反沉迷系统教程 : 动态选项光标教程 : 用流星当板擦,擦出Title标..教程 : 数据包的制作、加密以及解压运行教程 : 物品技能介绍加强(多行显示)教程 : ikki的敌人等级设定教程教程 : 显示对话人物头像教程 : 截图+档位扩展50+存档提示+..教程 : 使用自带字体[功能完善]教程 : fuki对话框(又名呼出对话框..教程 : RMXP在游戏运行中制作事件教程 : 行走图横版战斗-改进版教程 : 导出工程中全部对话文字教程 : 线索仓库增强版教程 : 更改游戏分辨率,简化版教程 : 给每个角色制作攻击动画(不使用..教程 : 完美输入法最后修正版

没找到你想要的?可以使用搜索功能 ↓

66RPG 站内搜索

精确(推荐) 全文

评论啦