RMXP-RGSS1脚本解析
文章平均质量分 54
66RPG岛闭啦,老板柳晓宇带着彩虹文字游戏制作工具跑路啦
不懂这个专栏的有难了
AugustTheo
0个人爱看
展开
-
RMXP脚本解析(#三十一):RGSS与RMXP数据库(十一.MoveRoute)
前言本类目前看到的实例出现在Game_Character中,作为其类变量@move_route存在。本类用于描述移动的路径。RPG::MoveRoutemodule RPG class MoveRoute def initialize @repeat = true @skippable = false @list = [RPG::MoveCommand.new] end attr_accessor :repeat原创 2022-07-08 23:36:36 · 638 阅读 · 0 评论 -
RMXP脚本解析(三十):Game_Character(分割定义一)
目录Game_Character(分割定义一)代码解析关于跳跃关于Z坐标的完全定义注:本系列文章由一年前首发于我的个人博客,这次发表在CSDN中我又做了一些修改,修正了一些现在看来错误或者不成熟的想法。本篇中以前的部分用删除线划去,并在后方用灰色字体补充。从Game_Map跳到本类的原因与从Window_Command跳到Game_BattleAction类的原因相同。Game_Character类作为Game_Player类与Game_Event类的超级类,处理角色与事件在地图上的行为原创 2022-01-19 14:42:15 · 364 阅读 · 0 评论 -
RMXP脚本解析(二十九):Game_Map
目录Game_Map类代码解析关于角色朝向与判断是否通行的函数关于@events与其初始化无需多言,很轻松就能知道这是个管理游戏地图的类。本类在游戏中对应且仅对应全局变量$game_map,因为在游戏中仅仅能存在一张地图,也就是角色所在的地图。Game_Map类代码解析#==============================================================================# ■ Game_Map#------------原创 2022-01-09 08:50:00 · 492 阅读 · 0 评论 -
RMXP脚本解析(二十八):RGSS与RMXP数据库(十.EventCommand)
目录前言RPG::EventCommand帮助手册 属性解释codeindentparameters联系 rxdata前言在此之前,我们曾在RPG::Troop::Page中提到过这个类,在这之后我们也会在描述事件的RPG::Event与描述公共事件的RPG::CommonEvent中再见到它。在RMXP中,所有的事件页(敌群的事件页和地图事件、公共事件的事件页)中都会有一个指向EventCommand的数组,因为事件页本身是用于记录事件指令的,而EventCom原创 2022-01-09 08:49:48 · 406 阅读 · 0 评论 -
RMXP脚本解析(#二十七):RGSS与RMXP数据库(九.Map)
目录前言RPG::Map图片 地图设置与RPG::Map属性对应关系联系 rxdata前言建议在阅读本文前先阅读本系列的第二十六节,了解一下瓦片地图。本类所对应的部分虽然不在数据库内,但也值得一讲。本类展示在地图的地图设置一栏,如图:RPG::Mapmodule RPG class Map def initialize(width, height) @tileset_id = 1 @width = wi原创 2022-01-08 09:15:26 · 574 阅读 · 0 评论 -
RMXP脚本解析(#二十六):RGSS与RMXP数据库(八.Tileset)
目录前言瓦片地图的定义(不是GPS用的那个)# RMXP中的瓦片地图RPG::Tileset图片 数据库::图块与RPG::Tileset属性对应关系帮助手册 通行表联系 rxdata前言RGSS中的Tileset可以类比为瓦片地图,并不是什么新奇的玩意。作为一个游戏制作软件,RMXP提供的地图素材可以说非常的有代表性,以致于有些普通了(但对于日式RPG而言这无伤大雅,前提是剧情用心)。个人认为如果要在游戏上精益求精,RM本身的素材肯定是用不了的,但是其构造素材的方法原创 2022-01-08 09:15:16 · 689 阅读 · 0 评论 -
RMXP脚本解析(二十五):Game_Party
目录Game_Party类代码解析角色的位置与轮流概率Game_Party类代码解析#==============================================================================# ■ Game_Party#------------------------------------------------------------------------------# 处理同伴的类。包含金钱以及物品的信息。本类的原创 2022-01-07 09:28:14 · 379 阅读 · 0 评论 -
RMXP脚本解析(二十四):Game_Troop
目录Game_Troop类代码解析Game_Troop类代码解析#==============================================================================# ■ Game_Troop#------------------------------------------------------------------------------# 处理队伍的类。本类的实例请参考 $game_troop# #原创 2022-01-07 09:28:03 · 309 阅读 · 0 评论 -
RMXP脚本解析(#二十三):RGSS与RMXP数据库(七.Troop)
目录前言RPG::TroopRPG::Troop::MemberRPG::Troop::PageRPG::Troop::Page::Condition图片 数据库::队伍与RPG::Troop属性对应关系联系 rxdata前言由于RPG::Troop类涉及到的内部类和其他RGSS类比较多,我们在这里列出它们之间的关系如图:其中RPG::EventCommand并不在我们讲解的范围内,其余的类我们都会提到。RPG::Troopmodule RPG.原创 2022-01-05 09:34:03 · 723 阅读 · 0 评论 -
RMXP脚本解析(二十二):Game_Enemy
目录Game_Enemy类代码解析Game_Enemy类与Game_Troop类$data_enemy敌人行动的生成过程关于z坐标Game_Enemy类代码解析#==============================================================================# ■ Game_Enemy#-------------------------------------------------------------原创 2022-01-05 09:31:31 · 2235 阅读 · 0 评论 -
RMXP脚本解析(#二十一):RGSS与RMXP数据库(六.Enemy)
目录RPG::EnemyRPG::Enemy::Action图片 数据库::敌人与RPG::Enemy属性对应关系图片 RPG::Enemey::Action联系 rxdata联系 Enemy与其内部类Enemy::ActionRPG::Enemymodule RPG class Enemy def initialize @id = 0 @name = "" @battler_name = "原创 2022-01-05 09:27:17 · 307 阅读 · 0 评论 -
RMXP脚本解析(二十):Game_Actors
目录Game_Actors类代码解析这一章比较简短。Game_Actors类代码解析#==============================================================================# ■ Game_Actors#------------------------------------------------------------------------------# 处理角色排列的类。本类的实例请参考# $原创 2022-01-05 09:25:17 · 287 阅读 · 0 评论 -
RMXP脚本解析(十九):Game_Actor
目录Game_Actor类代码解析重载函数对比maxhpGame_Actor类与Game_Party类Game_Actor类代码解析#==============================================================================# ■ Game_Actor#-----------------------------------------------------------------------------原创 2022-01-05 09:24:20 · 453 阅读 · 0 评论 -
RMXP脚本解析(#十八):RGSS与RMXP数据库(五.Class)
RPG::Classmodule RPG class Class def initialize @id = 0 @name = "" @position = 0 @weapon_set = [] @armor_set = [] @element_ranks = Table.new(1) @state_ranks = Table.new(1)原创 2022-01-05 09:21:27 · 270 阅读 · 0 评论 -
RMXP脚本解析(#十七):RGSS与RMXP数据库(四.Actor)
目录RPG::Actor图片 数据库::角色与RPG::Action属性对应关系联系 rxdataRPG::Actormodule RPG class Actor def initialize @id = 0 @name = "" @class_id = 1 @initial_level = 1 @final_level = 99 @exp_basis原创 2022-01-05 09:19:30 · 197 阅读 · 0 评论 -
RMXP脚本解析(十六):Game_Battler战斗类总结
目录Game_Battler类分割内容详解Game_Battler(分割定义一)Game_Battler(分割定义二)Game_Battler(分割定义三)Game_BattleAction与Game_Battler类的联系Game_BattleAction的作用联系可以很负责任地说,作为战斗角色类的超级类,Game_Battler已经把RMXP中战斗的结算写的很清楚了。本节我们具体来谈谈Game_Battler整个类(三个分割定义)和服务于本类的Game_BattleAct原创 2022-01-05 09:18:11 · 309 阅读 · 0 评论 -
RMXP脚本解析(十五):Game_Battler(分割定义三)
前言本节中超级类Game_Battler面向两个派生类的属性调用增加,有很多地方需要联系Game_Actor与Game_Enemy类共同理解。Game_Battler(分割定义三)代码解析#==============================================================================# ■ Game_Battler (分割定义 3)#----------------------------------------------原创 2022-01-05 09:16:17 · 369 阅读 · 8 评论 -
RMXP脚本解析(#十四):RGSS与RMXP数据库(三.Item)
RPG::Itemmodule RPG class Item def initialize @id = 0 @name = "" @icon_name = "" @description = "" @scope = 0 @occasion = 0 @animation1_id = 0 @animation2_id = 0原创 2022-01-05 09:09:20 · 271 阅读 · 0 评论 -
RMXP脚本解析(#十三):RGSS与RMXP数据库(二.Skill)
RPG::Skillmodule RPG class Skill def initialize @id = 0 @name = "" @icon_name = "" @description = "" @scope = 0 @occasion = 1 @animation1_id = 0 @animation2_id = 0原创 2022-01-04 10:01:00 · 314 阅读 · 0 评论 -
RMXP脚本解析(十二):Game_Battler(分割定义二)
目录Game_Battler(分割定义二)代码解析state_guard?注:从本篇开始原注释不变,笔者写的注释标记改为两个##。Game_Battler(分割定义二)代码解析#==============================================================================# ■ Game_Battler (分割定义 2)#---------------------------------------------.原创 2022-01-04 09:59:50 · 356 阅读 · 0 评论 -
RMXP脚本解析(#十一):RGSS与RMXP数据库(一.State)
写在前面在本小系列(后面的同系列文章我就不说了)中我们不会深入去谈各个属性的意义,我会把ModuleRPG中的几个用于RMXP的类的定义展示出来,并把他们的各个属性与数据库中各项设定(其实它们最后都要变成.rxdata文件)的对应关系告诉读者,使得读者对它们之间的联系产生一个初步印象。这有利于读者理解接下来关于战斗和其他与游戏数据文件有关的类。RPG::Statemodule RPG class State def initialize @id = .原创 2022-01-04 09:57:19 · 1852 阅读 · 0 评论 -
RMXP脚本解析(十):Game_Battler(分割定义一)
这个类实在是过于冗长,以至于RMXP将其分为三个部分书写。本节我们解析其第一部分,并在解析其整个类之后分析出它是如何使用Game_BattleAction的。Game_Battle(分割定义一)代码解析#==============================================================================# ■ Game_Battler (分割定义 1)#-----------------------------------------原创 2022-01-04 09:53:33 · 402 阅读 · 0 评论 -
RMXP脚本解析(九):Game_BattleAction
目录Game_BattleAction类代码解析关于RPG::Skill.scope的取值范围关于本类的意义让我们继续跟着Scene_Title的脉络走下去。本来这一节是要解析Game_Party,但由于Game_Party类中又反复使用了一个较为简单的类Game_Actors,Game_Actors中又使用了Game_Actor……最后定义到了Game_BattleAction。查找RMXP脚本系统中最基础的类的感觉就像遍历二叉树中不停地查找节点的子树。所以我们就先解析Game_Battl原创 2022-01-04 09:52:02 · 1677 阅读 · 0 评论 -
RMXP脚本解析(#八):分析rxdata文件
目录rxdata文件解析xdata文件与类的关系rxdata存档文件rxdata文件具体数据因为要讲到大量运用$data_xxx的全局变量的类了,先插队分析一下作为RMXP游戏数据文件的.rxdata文件。rxdata文件解析我们之前在解析Scene_Title时提到过了不加密的rxdata文件的构成,也就是Marshal.dump与Marshal.load。这是帮助文档的截图而RMXP默认工程文件目录下data的树结构如下:data-Actors.r.原创 2022-01-03 21:18:15 · 4006 阅读 · 1 评论 -
RMXP脚本解析(七):Window_Command
目录Window_Command类代码解析关于Window_Command类的实例绕了半天,终于又回到了我们的Window_Command类。Window_Command类代码解析#==============================================================================# ■ Window_Command#-----------------------------------------------------原创 2022-01-03 17:14:32 · 312 阅读 · 0 评论 -
RMXP脚本解析(六):Window_Help
目录Window_Help类代码解析关于set_actor与set_enemy描绘的窗口的位置昨天我们解析的Window_Selectable里有一个可读类属性help_window,本节我们就对这个属性所属的类Window_Help进行解析。Window_Help类代码解析#==============================================================================# ■ Window_Help#--------原创 2022-01-03 17:12:35 · 378 阅读 · 0 评论 -
RMXP脚本解析(五):Window_Selectable
目录Window_Selectable类代码解析关于滚动窗口的几个属性Window_Selectable类继承自Window_Base,是可以滚动、有光标的窗口类。Window_Selectable类代码解析#==============================================================================# ■ Window_Selectable#------------------------------------原创 2022-01-02 22:50:09 · 404 阅读 · 0 评论 -
RMXP脚本解析(四):Window_Base
目录Window_Base类代码解析关于位图(src_bitmap)与矩形(src_rect)关于叠加多个状态更新 关于RPG::State.rating总结顺着Scene_Title的实例化脉络走下去,我们这次本来是要解析实例化@command_window的Window_Command类,但由于Window_Command类的父类是Window_Selectable,而Window_XX类还有个超级类Window_Base(它的父类是RGSS中的Window),所以我们就先从Wi原创 2022-01-02 22:48:06 · 630 阅读 · 0 评论 -
RMXP脚本解析(三):Game_System
本文对上一节中生成$game_system的类Game_System进行解析。Game_System类代码解析#==============================================================================# ■ Game_System#------------------------------------------------------------------------------# 处理系统附属数据的类。也可执原创 2022-01-02 22:46:34 · 594 阅读 · 0 评论 -
RMXP脚本解析(二):Scene_Title
上文我们解析了Main,其中除了调用RGSS自带的模块和方法之外还调用了唯一一个自建类Scene_Title,创建了一个此类的对象$scene,且在$scene不为nil时调用$scene.main方法。所以本节我们就从Scene_Title开始。Scene_Title类代码解析#==============================================================================# ■ Scene_Title#------------原创 2022-01-02 22:44:47 · 807 阅读 · 0 评论 -
RMXP脚本解析(一):总述与Main
写在前面-本系列文章默认读者使用过RMXP并对Ruby的语法有一定的掌握。-RMXP工程自带的脚本系统使用的是RGSS1。-本系列文章使用的脚本是经过紫苑工作室汉化的版本。RXMP版本1.0.3,Ruby1.8.1,RGSS1.0.3。-我接触RMXP大概是在上初一的时候,接触66RPG是同期。Ruby是我接触过的第二门编程语言,那个时候为了看懂RGSS1我试着去学习日语,但是实在记不住五十音图……也是因为Ruby我现在还有莫名其妙就想给函数名后面加个?的想法。很遗憾现在Ruby好像还是一门原创 2022-01-02 22:41:32 · 621 阅读 · 0 评论