设为首页收藏本站

仙剑之十里坡

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 13437|回复: 16
打印 上一主题 下一主题

和我学做仙剑时空传——第一章:标题脚本篇

  [复制链接]

28

主题

11

听众

5325

积分

管理员

昨日黄昏

管理员

  • TA的每日心情

    2010-9-25 00:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    精华
    5
    积分
    5325
    历练
    10
    声望
    119
    人气
    141

    润泽万物 匠心独运

    单身中……
    帮我摆脱单身吧
    跳转到指定楼层
    1
    发表于 2010-2-6 16:32:38 |只看该作者 |倒序浏览
    注:本教程适用于RMXP(RPG Maker XP)
          本教程原作者为七夕小雨(qq398756862)如需转帖请注明原作者并注明十里坡(www.palslp.com)为首发处

    我其实一直在犹豫,教程做成什么样好,是按步骤干巴巴的讲解,还是句句详解,再带点俏皮话,虽然我是个懒人- -但是,我还是打算好好出这次的教学系列,可能会比较长,愿君也一样能有我的这份耐心。ok废话不多说~
    开始我们的教程

    好了~先是扫盲,如果没有任何RM基础的,请先下载基础教学包
    下载地址在置顶帖

    恩,扫盲完毕的可以继续往下看了
    首先,仙剑时空传的标题,我使用了事件标题,所以这次我们就具体说说其做法
    一、
    安装过RM的童鞋都知道,RM的进入画面是个深绿色的树林,然后有选择窗口,虽然数据库内可以修改标题图片,但是却还是不能修改大体的效果,虽然脚本也一样可以制作的很华丽,但是却还是很麻烦的,所以我们选择一个还没有装载任何变量的初始地图的事件来承载我们标题画面。
    好了,首先我们要做的就是跳过标题画面。我这里不是给大家一个现成的脚本,而是手把手教你把原脚本改成忽略标题画面到初始地图的方式。
    1,打开电脑
    2,打开十里坡《和我学做仙剑时空转——第一章:标题》
    3,打开RMXP
    4,打开脚本编辑器,选中Scene_Title脚本。
    好了准备工作做好了
    为什么要修改Scene_Title而不是别的呢,我们打开脚本中的main就会发现$scene = Scene_Title因为main是RM首先运行的东西,所以其生成的场景,便是第一个生成的场景,可能还会有人问,为什么不直接修改$scene的指针内容,其实原因很简单,应为在Scene_Title中直接生成好了数据库内所有我们需要的内容,只需要修改画面和跳转方式就能达到我们想要的方式,这不是很好嘛?既然有了轮胎,我们只要修改纹路,让他在我们需要土地上奔驰起来就好了。
    好了,我们打开Scene_Title,先不要怕这些密密麻麻的东西,我一步步给你们讲解。
    前面为#号的是注释,我们撇开不看
    第一句class Scene_Title
    生成一个名为Scene_Title的类
    def main 定义一个main的方法
    if $BTEST
          battle_test
          return
        end
    如果是战斗测试的情况下,就调用battle_test的方法,然后返回。
    # 载入数据库
        $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 = Sprite.new
        @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    这两句便是生成标题背后那张图片的~~所以我们在修改时这两句删除
        # 生成命令窗口
        s1 = "新游戏"
        s2 = "继续"
        s3 = "退出"
        @command_window = Window_Command.new(192, [s1, s2, s3])
        @command_window.back_opacity = 160
        @command_window.x = 320 - @command_window.width / 2
        @command_window.y = 288
    这几句是生成那个选择框的,所以修改时也删除

        @continue_enabled = false
        for i in 0..3
          if FileTest.exist?("Save#{i+1}.rxdata")
            @continue_enabled = true
          end
        end
        if @continue_enabled
          @command_window.index = 1
        else
          @command_window.disable_item(1)
        end

    这几句是判定存档内是否有文件,如果没有呢,读档那个键是不能按滴,当然,由于前面的@command_window变量已经删去,所以这几句没有留着的必要,如果真的想要在事件标题中实现此效果我等下也会说明的
        $game_system.bgm_play($data_system.title_bgm)
        Audio.me_stop
        Audio.bgs_stop
    音乐控制,删除不解释
    loop do
          Graphics.update
          Input.update

          update
          if $scene != self
            break
          end
        end

    进入一个总循环
    然后调用画面刷新的方法
    调用按键刷新的方法,
    调用update 方法
    如果场景不是他自己,就跳出循环
    这里稍加解释,我们都知道如果进入到标题画面,那么$scene = Scene_Title
    所以这里的$scene != self 也可以写为$scene !=  Scene_Title
    !=是不等于的意思
    @command_window.dispose
    @sprite.bitmap.dispose
    @sprite.dispose

    内存释放刚才定义的变量,由于刚才的变量删去了,所以如果这里留着的话,就会报错,删去
    def update
        # 刷新命令窗口
        @command_window.update
        # 按下 C 键的情况下
        if Input.trigger?(Input::C)
          # 命令窗口的光标位置的分支
          case @command_window.index
          when 0  # 新游戏
            command_new_game
          when 1  # 继续
            command_continue
          when 2  # 退出
            command_shutdown
          end
        end
      end
    定义一个update的方法,
    调用Window_Command类内的update方法,这里说明一下,窗口类带update的很少,大多数都写在Window_Base内然后子类继承下来的,
    如果按下了C 一般有经验的人都知道,c不知代表C还有空格和回车
    然后判定你的选择项,如果光标停留在0号光标上,就是新游戏,如果停留在1号光标上就是读档,如果停留在3号光标上就是退出
    着写语句中的command_new_game、command_continue、command_shutdown在下面也都有def定义,大家可以自己看看。但是由于我们上面的修改,所以这里我们需要的效果是什么都不用按,直接进入command_new_game这个方法,最简单的改法就是
    def update
            command_new_game
      end
    这样

    自己可以想想为什么。

    好了,然后我们再看看
    def command_new_game
        $game_system.se_play($data_system.decision_se)
        Audio.bgm_stop

    定义一个command_new_game的方法,
    播放data_system.decision_se的声音
    标题背景音乐停止播放,这里我们只需要把
    $game_system.se_play($data_system.decision_se)
        Audio.bgm_stop

    两句删除,我们的这个脚本也就算是改好了,其下的也都是初始化数据库变量等,就不多解释了。

    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    转播转播0 分享淘帖0 分享分享0 收藏收藏0

    32

    主题

    9

    听众

    1万

    积分

    版主

    恋灵不变

    版主

  • TA的每日心情
    难过
    2013-1-29 12:13
  • 签到天数: 105 天

    [LV.6]常住仙友II

    精华
    0
    积分
    10884
    历练
    6
    声望
    80
    人气
    121

    润泽万物 神仙眷侣

    赵灵儿
    幸福:70℃
    2
    发表于 2010-2-6 16:36:02 |只看该作者
    学完做出来你不会说我盗版吧= =我最大目的就是把陈寒轩换我名字= =~邪恶了点
    有些难以启齿的柔弱,在孤单夜里会滑落,忽然有太多的话我只能对自己说,有些难以启齿的柔弱,只能自己慢慢把握,忽然间有一天你不再听我诉说……
    回复

    使用道具 举报

    28

    主题

    11

    听众

    5325

    积分

    管理员

    昨日黄昏

    管理员

  • TA的每日心情

    2010-9-25 00:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    精华
    5
    积分
    5325
    历练
    10
    声望
    119
    人气
    141

    润泽万物 匠心独运

    单身中……
    帮我摆脱单身吧
    3
    发表于 2010-2-6 16:45:57 |只看该作者
    - -那需要一句一句对话的修改啊~你可以考虑一下
    回复

    使用道具 举报

    0

    主题

    0

    听众

    102

    积分

    禁止访问

    江湖乞丐

    该用户从未签到

    精华
    0
    积分
    102
    历练
    0
    声望
    2
    人气
    13
    单身中……
    帮我摆脱单身吧
    4
    发表于 2010-2-6 16:58:57 |只看该作者
    好有才啊!好帅啊!
    回复

    使用道具 举报

    32

    主题

    9

    听众

    1万

    积分

    版主

    恋灵不变

    版主

  • TA的每日心情
    难过
    2013-1-29 12:13
  • 签到天数: 105 天

    [LV.6]常住仙友II

    精华
    0
    积分
    10884
    历练
    6
    声望
    80
    人气
    121

    润泽万物 神仙眷侣

    赵灵儿
    幸福:70℃
    5
    发表于 2010-2-6 16:58:57 |只看该作者
    - -~刚看完你的教程~十分晕的感觉= =
    有些难以启齿的柔弱,在孤单夜里会滑落,忽然有太多的话我只能对自己说,有些难以启齿的柔弱,只能自己慢慢把握,忽然间有一天你不再听我诉说……
    回复

    使用道具 举报

    28

    主题

    11

    听众

    5325

    积分

    管理员

    昨日黄昏

    管理员

  • TA的每日心情

    2010-9-25 00:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    精华
    5
    积分
    5325
    历练
    10
    声望
    119
    人气
    141

    润泽万物 匠心独运

    单身中……
    帮我摆脱单身吧
    6
    发表于 2010-2-6 17:02:52 |只看该作者
    不是先让你看扫盲的教程嘛= =
    回复

    使用道具 举报

    1013

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    昨天 23:03
  • 签到天数: 1409 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23743
    历练
    3
    声望
    133
    人气
    2625

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    7
    发表于 2010-2-6 17:04:05 |只看该作者
    很晕
    我喜欢直接用图片标题菜单
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    32

    主题

    9

    听众

    1万

    积分

    版主

    恋灵不变

    版主

  • TA的每日心情
    难过
    2013-1-29 12:13
  • 签到天数: 105 天

    [LV.6]常住仙友II

    精华
    0
    积分
    10884
    历练
    6
    声望
    80
    人气
    121

    润泽万物 神仙眷侣

    赵灵儿
    幸福:70℃
    8
    发表于 2010-2-6 17:05:05 |只看该作者
    本帖最后由 ycjlovezle 于 2010-2-6 17:19 编辑
    不是先让你看扫盲的教程嘛= =
    七夕小雨 发表于 2010-2-6 17:02

    扫盲教程下载中,到了99.7%打死不动了~我郁闷
    有些难以启齿的柔弱,在孤单夜里会滑落,忽然有太多的话我只能对自己说,有些难以启齿的柔弱,只能自己慢慢把握,忽然间有一天你不再听我诉说……
    回复

    使用道具 举报

    28

    主题

    11

    听众

    5325

    积分

    管理员

    昨日黄昏

    管理员

  • TA的每日心情

    2010-9-25 00:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    精华
    5
    积分
    5325
    历练
    10
    声望
    119
    人气
    141

    润泽万物 匠心独运

    单身中……
    帮我摆脱单身吧
    9
    发表于 2010-2-6 17:24:21 |只看该作者
    我自己测试能下载下来的啊- -
    回复

    使用道具 举报

    32

    主题

    9

    听众

    1万

    积分

    版主

    恋灵不变

    版主

  • TA的每日心情
    难过
    2013-1-29 12:13
  • 签到天数: 105 天

    [LV.6]常住仙友II

    精华
    0
    积分
    10884
    历练
    6
    声望
    80
    人气
    121

    润泽万物 神仙眷侣

    赵灵儿
    幸福:70℃
    10
    发表于 2010-2-6 17:28:05 |只看该作者
    我在重下= =悲哀~再下不来放弃 = =
    有些难以启齿的柔弱,在孤单夜里会滑落,忽然有太多的话我只能对自己说,有些难以启齿的柔弱,只能自己慢慢把握,忽然间有一天你不再听我诉说……
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    手机版|Archiver|仙剑之十里坡 ( 苏ICP备11022766号 )  

    GMT+8, 2024-11-25 14:18 , Processed in 0.442187 second(s), 50 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部