Project1
标题:
枫起的超啰嗦脚本详细注释第一弹!Windows_Base代码全注释!
[打印本页]
作者:
枫起
时间:
2011-7-16 22:18
标题:
枫起的超啰嗦脚本详细注释第一弹!Windows_Base代码全注释!
本帖最后由 枫起 于 2011-7-16 23:07 编辑
原版本
321
行。注释后的版本总共
640
行- -可见该版本有多么的啰嗦- -
本版本坑了N个月后。。。终于发布了。。。当然,我水平有限,必然有很多错误,希望大家能够指出。
该教程是给新手学RGSS看的,这样有些简单的就可以不用查手册了。查手册的话也可以提高效率和记忆效率。
#CY 是我写的注释的说明,与自带的区分。
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中全部窗口的超级类。
#==============================================================================
class Window_Base < Window #定义Window_Base类为Window类的子类。
#--------------------------------------------------------------------------
# ● 初始化对像
# x : 窗口的 X 坐标
# y : 窗口的 Y 坐标
# width : 窗口的宽
# height : 窗口的宽
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
#CY 类Window_Base的名为initialize的方法定义。
super()
#CY 重载父类同名的方法。
@windowskin_name = $game_system.windowskin_name
#CY 先调用$game_system的windowskin_name来获取定义的窗体素材,
#CY 并且赋给实变量@windowskin_name。
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
#CY 对RGSS内部模块的RPG::Cache调用windowskin方法,也就是从高速缓存中取得
#CY 窗口皮肤图像,并调用 Window 类的 windowskin= 方法来赋值。
#CY-------------------以下都为执行他们本身,然后将值赋给它们---------------
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
end
#CY 结束此次定义。
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
#CY 定义一个名为dispose的方法。
if self.contents != nil
# 如果窗口的内容不是空(也就是说窗口有内容)
#CY 执行contents这个方法本身,如果执行该方法返回的值不等于nil,则执行下一步,
#CY 否则执行父类的同名方法dispose。
#备注:contents该方法在F1的RGSS参考——游戏库——RGSS内部类里的Window里面。
self.contents.dispose
#CY 如果上一步条件满足,则对contents(作为窗口内容显示的位图)
#CY 执行dispose(释放窗口)方法。
end
super
#CY 如果不满足条件,则调用父类的同名方法dispose(释放窗口)。
end
#--------------------------------------------------------------------------
# ● 获取文字色
# n : 文字色编号 (0~7)
#--------------------------------------------------------------------------
def text_color(n)
#CY 定义一个名为text_color的方法。
case n
#CY 执行case循环体
when 0
#CY 当n=1时,执行下一句,否则继续往下对比。
return Color.new(255, 255, 255, 255)
#CY 返回执行建立Color的实例的值,内部数值分别是RGB和透明度。
#CY 以下都可以依次类推。
when 1
return Color.new(128, 128, 255, 255)
when 2
return Color.new(255, 128, 128, 255)
when 3
return Color.new(128, 255, 128, 255)
when 4
return Color.new(128, 255, 255, 255)
when 5
return Color.new(255, 128, 255, 255)
when 6
return Color.new(255, 255, 128, 255)
when 7
return Color.new(192, 192, 192, 255)
else
normal_color
end
end
#--------------------------------------------------------------------------
# ● 获取普通文字色
#--------------------------------------------------------------------------
def normal_color
#CY 定义一个名为normal_color的方法。
return Color.new(255, 255, 255, 255)
end
#CY 可以看出。该方法的值和上面的循环体case中n=0的值相等。
#CY 等等!你没什么要问的么?真的没有?难道你不想知道Color这个类里的那四个
#CY 参数的意义么?想知道?人家现在才不会告诉你呢!继续往下看才能知道哦!
#--------------------------------------------------------------------------
# ● 获取无效文字色
#--------------------------------------------------------------------------
def disabled_color
#CY 定义一个名为disabled_color的方法。
return Color.new(255, 255, 255, 128)
#CY 需要注意的是最后一个值为128。
end
#CY 可以看到,三原色RGB的值都没变,最后的透明度的值约为255的一半,
#CY 所以该函数实际应用时字体相对于255的字体来说是半透明的。
#--------------------------------------------------------------------------
# ● 获取系统文字色
#--------------------------------------------------------------------------
def system_color
#CY 定义一个名为system_color的方法。
return Color.new(192, 224, 255, 255)
end
#--------------------------------------------------------------------------
# ● 获取危机文字色
#--------------------------------------------------------------------------
def crisis_color
#CY 定义一个名为crisis_color的方法。
return Color.new(255, 255, 64, 255)
end
#--------------------------------------------------------------------------
# ● 获取战斗不能文字色
#--------------------------------------------------------------------------
def knockout_color
#CY 定义一个名为knockout_color的方法。
return Color.new(255, 64, 0)
#CY 啊嘞嘞?为什么这个只有3个参数?
end
#CY 好吧,现在是福利时间,还记得上面我说的那个Color类里面参数的含义么?
#CY 现在该揭晓了,让我们一起来看看吧!你现在要做的就是翻开我们的参考书。
#CY 阿勒?参考书是什么?能不能吃?好不好吃?吃你妹啊~F1啦!!!F1!!!
#CY OK,下面大家打开RGSS参考——游戏库——RGSS内部类——Color。仔细看看吧!
#CY 注意这一句:Color.new(red, green, blue,[alpha])
#CY 生成 Color 对象。如省略 alpha 的话则默认为 255。
#CY 看到没有?也就是说第四个参数[alpha](透明度)是可以省略的,只不过省略
#CY 后Color.new(red, green, blue)等同于Color.new(red, green, blue,255)。
#CY 也就是没有透明效果了哦!
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
#CY 定义一个名为update的方法。
super
#CY 调用父类的同名方法(update)重载。
# 如果窗口的外观被变更了、再设置
if $game_system.windowskin_name != @windowskin_name
#CY 如果执行全局变量$game_system的windowskin_name方法的值不等于实变量
#CY @windowskin_name的值,则执行下一步。
@windowskin_name = $game_system.windowskin_name
#CY 将执行全局变量$game_system的windowskin_name方法的值赋给实变量
#CY @windowskin_name。
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
#CY 看不懂么?魂淡!你有没有看前面啊!!!人家写注释可是很辛苦的!!!往上
#CY 忘记了的统统给我抬头90°向上看第21行,然后嘴里默念komenasai 100遍!
#CY PS:傲娇了。。。PIA~然后就是上次写到这出了个非常杯具的事,于是我这是第
#CY 二遍写这玩意了%>_<%。
end
end
#--------------------------------------------------------------------------
# ● 图形的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_graphic(actor, x, y)
#CY 定义名为draw_actor_graphic的方法。
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
#CY 对RPG::Cache模块执行名为character的方法,该方法需要2个值。这两个值分别
#CY 是对actor类使用character_name方法(角色文件名)和对actor类使用character
#CY _hue(角色色相)。取得角色图像。然后将值赋给变量bitmap。
#CY character方法的定义请看RGSS参考——游戏库——RGSS内部类的RPG::Cache模块。
#CY 现在不需要你去记忆RPG::Cache模块的内容哦,了解下即可。
cw = bitmap.width / 4
#CY 对变量bitmap使用width(取得位图的宽)方法,并且将值除以4,然后赋给变量cw。
#CY bitmap的方法在RGSS参考——游戏库——RGSS内部类的Bitmap里面。
ch = bitmap.height / 4
#CY 对变量bitmap使用height(取得位图的高)方法,并且将值除以4,然后赋给变量ch。
src_rect = Rect.new(0, 0, cw, ch)
#CY 新建Rect的实例,内部参数为(0, 0, cw, ch),并将该实例的值赋给变量src_rect。
#CY Rect的方法在RGSS参考——游戏库——RGSS内部类的Rect里面。
#CY 神马?你问我x和y的意思?继续抬头90°看141行的注释。。。
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
#CY 对contents属性执行blt方法,并且执行它本身。
#CY 不懂?不动就对了!我还没给出附录呢,你怎么能懂呢!
#CY contents属性:作为窗口内容显示的位图(Bitmap)。
#CY blt(x, y, src_bitmap, src_rect[, opacity]) 方法:
#CY 传送 src_bitmap 的矩形 src_rect(Rect)到该位图的座标(x,y)。
#CY opacity 指定其不透明度,范围为 0 ~ 255。
#CY contents属性在RGSS参考——游戏库——RGSS内部类的Window里。
#CY blt方法在RGSS参考——游戏库——RGSS内部类的Bitmap里。
end
#--------------------------------------------------------------------------
# ● 名称的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y) #CY 定义名为draw_actor_name的方法。
self.contents.font.color = normal_color
#CY 对contents执行font类的color(字体的颜色)属性,并将前面定义的normal_color
#CY 方法的值赋给它,并且执行它本身。
self.contents.draw_text(x, y, 120, 32, actor.name)
#CY 对contents执行Bitmap类的draw_text(在该位图的矩形或 中描绘字符串 str属性)
#CY 并执行它本身。
#CY 将窗口的内容显示字体的颜色设定成 normal_color 返回的颜色
#CY self 表示的是窗口自己本身, 也就是 WIndow_Base 什么的
#CY 参考:RGSS内部类的Font类和Bitmap类。
#CY PS:同样是调用不同的类的方法,为什么font类要多加个.fot呢?而Bitmap就不要?
#CY 大家可以看contents属性的后缀,注意,有个(Bitmap)。
#===========================================================================
end
#--------------------------------------------------------------------------
# ● 职业的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_class(actor, x, y) #CY 定义名为draw_actor_name的方法。
#CY 以下参考刚才讲过的前一个例子,也就是第180行。
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 236, 32, actor.class_name)
end
#--------------------------------------------------------------------------
# ● 等级的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_level(actor, x, y) #CY 定义名为draw_actor_name的方法。
#CY---------------------以下皆参考第180行----------------------------------
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = normal_color
self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
#CY 大家是否对上一行的最后一个参数2产生了疑惑呢?有的话就去查查我们的参考书
#CY 吧。也可以看下面的注释:
#CY draw_text(x, y, width, height, str,[align])
#CY 水平方向默认为左对齐,但是当 align 指定为 1 时为居中对齐,指定为 2 时为
#CY 右对齐。垂直方向则总为居中对齐。
#CY 看到了么?aligh的值是与对齐方法对应的哦。
end
#--------------------------------------------------------------------------
# ● 生成描绘用的状态字符串
# actor : 角色
# width : 描画目标的宽度
# need_normal : [正常] 是否为必须 (true / false)
#--------------------------------------------------------------------------
def make_battler_state_text(battler, width, need_normal)
#CY 定义名为make_battler_state_text的方法。
# 获取括号的宽
brackets_width = self.contents.text_size("[]").width
#CY 先执行contents(作为窗口内容显示的位图),再对其调用text_size方法(取得
#CY 以draw_text方法描绘字符串 str 的矩形(Rect)。但是,不包含斜体的部分。)
#CY 然后再对其使用Rect类的width(矩形的宽度)方法,然后再执行它本身,最后再
#CY 把值赋给变量brackets_width。
# 生成状态名字符串
text = ""
#CY 初始化text变量等于一个空的字符串。
for i in battler.states
#CY 先计算表达式battler(battler为函数形参).states,然后针对该对象的每个单
#CY 元,执行for循环。
if $data_states[i].rating >= 1
#CY 如果对全局变量$data_states[i]调用名为rating的方法。如果值大于等于1,则执
#CY 行下一句。
#CY 注释:rating为取得优先级。
if text == ""
#CY 如果text的值等于空的字符串。则执行下一句。
text = $data_states[i].name
#CY 对全局变量$data_states [i]调用name方法,并且把值赋给变量text。
else
#CY 否则,执行下列语句(即$data_stares[i].rating的值小于1)。
new_text = text + "/" + $data_states[i].name
#CY 将变量text的值加上字符串“/”加上对$data_stares[i]执行name方法的值,
#CY 最后赋值给new_text。
text_width = self.contents.text_size(new_text).width
#CY 执行contents它本身,对其执行text_size(new_text),再对其执行width,然后
#CY 赋值给变量text_width。
if text_width > width - brackets_width
#CY 如果text_width的值大于变量width(形参)减去变量brackets_width的值。
break
#CY 跳出循环。
end
text = new_text
#CY 将new_text的值赋给text。
end
end
end
# 状态名空的字符串是 "[正常]" 的情况下
if text == ""
#CY 如果text的值为nil(""相当于没有字符串)
if need_normal
#CY 如果need_normal(形参)的值不为false或者nil的话则执行下一个语句。
text = "[正常]"
#CY 将字符串[正常]赋值给text。
end
else
# 加上括号
text = "[" + text + "]"
#CY 将字符串“[”加上变量text的值再加上“]”赋值给text。
end
# 返回完成后的文字类
return text
#CY 返回text的值
end
#--------------------------------------------------------------------------
# ● 描绘状态
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
#CY 定义一个名为draw_actor_state的方法。分别有形参actor,x,y,width(赋初
#CY 值等于120)。
text = make_battler_state_text(actor, width, true)
#CY 将方法make_battler_state_text的值赋给变量text。
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
#CY 执行contents本身,然后对其使用font,再对其使用color,最后把actor.hp的值
#CY 赋值给它。
#CY 对actor使用hp方法,如果值等于0的话,则执行knockout_color(战斗不能的颜色)
#CY 。否则执行normal_color(普通战斗的颜色)。
self.contents.draw_text(x, y, width, 32, text)
#CY 执行contents它本身,再对其执行draw_text(在contents位图显示字符串text。
#CY 高度指定为32。
end
#--------------------------------------------------------------------------
# ● 描绘 EXP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_exp(actor, x, y)
#CY 定义名为draw_actor_exp的方法。
self.contents.font.color = system_color
#CY 执行contents本身,然后对其使用font,再对其使用color,最后把system_color
#CY 的值赋值给它。
self.contents.draw_text(x, y, 24, 32, "E")
#CY 执行contents它本身,再对其执行draw_text(在contents位图显示字符串E。
#CY 宽度指定为24,宽度指定为32。
self.contents.font.color = normal_color
#CY 执行contents本身,然后对其使用font,再对其使用color,最后把normal_color
#CY 的值赋值给它。
self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
#CY 执行contents它本身,再对其执行draw_text(在x的基础上加24,宽度指定为84,
#CY 高度指定为32。对actor执行exp_s(获取经验值)。对齐方式为右对齐。
#CY 注:exp_s在脚本的Game_Actor中。
self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
#CY 执行contents它本身,再对其执行draw_text(在x的基础上加108,宽度指定为12,
#CY 高度指定为32。显示字符串“/”。对齐方式为居中对齐。
self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
#CY 执行contents它本身,再对其执行draw_text(在x的基础上加120,宽度指定为84,
#CY 高度指定为32。显示字符串“/”。对齐方式为默认(左对齐)。
end
#--------------------------------------------------------------------------
# ● 描绘 HP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_hp(actor, x, y, width = 144)
#CY 定义名为draw_actor_hp的方法
# 描绘字符串 "HP"
self.contents.font.color = system_color
#CY 执行contents本身,然后对其使用font,再对其使用color,最后把system_color
#CY 的值赋值给它。
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
#CY 执行contents它本身,再对其执行draw_text(宽度指定为84,高度指定为32。
#CY 显示的字符串的值为对全局变量$data_system使用words(游戏术语)再对其使用
#CY hp(取得血量)。
# 计算描绘 MaxHP 所需的空间
if width - 32 >= 108
#CY 如果width减去32大于等于108,则执行下一句。
hp_x = x + width - 108
#CY 将x加上width的值减去108的值赋给hp_x。
flag = true
#CY 将true赋值给flag。
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
#CY 同上一步。
end
# 描绘 HP
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
#CY 执行contents本身,然后对其执行font再对其执行color,最后将对actor执行hp的
#CY 值赋给它。如果该表达式的值等于0的话,则该表达式为knockout_color,否者则为
#CY actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color这一步的值。
#CY actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color解读:
#CY 如果对actor使用maxhp然后再除以4的值大于对actor使用hp的值的话,则该表达式
#CY 等于crisis_color否则则为normal_color。
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
#CY 执行contents它本身,再对其执行draw_text(宽度指定为48,高度指定为32。
#CY 对actor执行hp(获取血量)再对其执行to_s(转换为字符串并且输出)。
#CY 对齐方式为右对齐。
# 描绘 MaxHP
if flag
#CY 如果flag不等于false或者nil,则执行下一步。
self.contents.font.color = normal_color
#CY 执行contents本身,然后对其使用font,再对其使用color,最后把normal_color
#CY 的值赋值给它。
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
#CY 执行contents它本身,再对其执行draw_text(在hp_x的基础上加48,宽度指定为12
#CY ,高度指定为32。显示字符串“/”。对齐方式为居中对齐。
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
#CY 执行contents它本身,再对其执行draw_text(在hp_x的基础上加60,宽度指定为48
#CY ,高度指定为32。对actor执行maxhp(获取HP最大值)再对其执行to_s(将对象转
#CY 换为字符串并且输出)
#CY 注释:maxhp:在脚本Game_Battler 1中定义。
end
end
#--------------------------------------------------------------------------
# ● 描绘 SP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_sp(actor, x, y, width = 144)
#CY 定义名为draw_actor_sp的方法。
# 描绘字符串 "SP"
self.contents.font.color = system_color
#CY 执行contents本身,然后对其使用font,再对其使用color,最后把system_color
#CY 的值赋值给它。
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
#CY 执行contents它本身,再对其执行draw_text(宽度指定为32,高度指定为32。
#CY 显示的字符串的值为对全局变量$data_system使用words(游戏术语)再对其使用
#CY sp(取得sp(魔法值))。
#CY ---------------------------以下类似上面定义的HP-------------------------
# 计算描绘 MaxSP 所需的空间
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
# 描绘 SP
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
# 描绘 MaxSP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# ● 描绘能力值
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# type : 能力值种类 (0~6)
#--------------------------------------------------------------------------
def draw_actor_parameter(actor, x, y, type)
#CY 定义名为draw_actor_parameter的方法。
case type
#CY 执行case语句。判断值为type。
when 0
#CY 如果type等于0。
parameter_name = $data_system.words.atk
#CY 对全局变量$data_system执行words(游戏用语)的atk(攻击力)属性。然后赋值
#CY 给parameter_name。
parameter_value = actor.atk
#CY 对actor执行atk(攻击力),然后赋值给parameter_value
#CY -------------------------------以下同上--------------------------------
when 1
parameter_name = $data_system.words.pdef
#CY pdef(物理防御)
parameter_value = actor.pdef
when 2
parameter_name = $data_system.words.mdef
#CY mdef(魔法防御)
parameter_value = actor.mdef
when 3
parameter_name = $data_system.words.str
#CY str(力量)
parameter_value = actor.str
when 4
parameter_name = $data_system.words.dex
#CY dex(灵巧)
parameter_value = actor.dex
when 5
parameter_name = $data_system.words.agi
#CY agi(速度)
parameter_value = actor.agi
when 6
parameter_name = $data_system.words.int
#CY int(魔力)
parameter_value = actor.int
end
self.contents.font.color = system_color
#CY 执行contents本身,然后对其执行font,再对其执行color。最后把system_color的
#CY 值赋给它。
self.contents.draw_text(x, y, 120, 32, parameter_name)
#CY 执行contents本身,然后对其执行draw_text(宽度指定为120,高度指定为32。对
#CY 齐方式默认左对齐。
self.contents.font.color = normal_color
#CY 执行contents本身,然后对其执行font,再对其执行color。最后把normal_color的
#CY 值赋给它。
self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
#CY 执行contents本身,然后对其执行draw_text(x坐标的值在给定的基础上加120。宽
#CY 度指定为36,高度指定为32。对齐方式为右对齐。
#CY to_s为将对象转换为字符串并且返回该字符串。
end
#--------------------------------------------------------------------------
# ● 描绘物品名
# item : 物品
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_item_name(item, x, y)
#CY 定义名为draw_item_name的方法
if item == nil
#CY 如果item的值等于nil。
return
end
bitmap = RPG::Cache.icon(item.icon_name)
#CY 执行RPG::Cache.icon。取得图标的图像(形参为对item执行icon_name(取得图标
#CY 图像名称)。并且将值赋给bitmap。
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
#CY 执行contents本身,然后对contents执行blt。
#CY ---------------------------------注释-----------------------------------
#CY blt(x, y, src_bitmap, src_rect[, opacity])
#CY 传送 src_bitmap 的矩形 src_rect(Rect)到该位图的座标(x,y)。
#CY opacity 指定其不透明度,范围为 0 ~ 255。
#CY Rect.new(x, y, width, height)
#CY 生成 Rect 对象。
#CY ---------------------------------注释-----------------------------------
self.contents.font.color = normal_color
#CY 执行contents本身,然后对其执行font,再对其执行color。最后把normal_color的
#CY 值赋给它。
self.contents.draw_text(x + 28, y, 212, 32, item.name)
#CY 执行contents本身,在对其执行draw_text方法。
end
end
复制代码
作者:
后知后觉
时间:
2011-7-17 00:09
我还以为你已经放弃了...
作者:
枫起
时间:
2011-7-17 06:30
后知后觉 发表于 2011-7-17 00:09
我还以为你已经放弃了...
坑了很久- -但是不会放弃的- -
作者:
八宝粥先生
时间:
2011-7-17 08:53
老天。。。。。。。。。。
作者:
仲秋启明
时间:
2011-7-17 10:21
枫起也开始方便新手了吗?
作者:
夕阳武士
时间:
2011-7-17 12:16
嗯,我理想中的F1就是这样的
作者:
Wind2010
时间:
2011-7-17 13:25
本帖最后由 Wind2010 于 2011-7-17 13:26 编辑
Bug:
316行的注释应该是
# 即text不为空
复制代码
吧?
340行的""不等于nil吧- -
作者:
忧雪の伤
时间:
2011-7-17 13:32
本帖最后由 忧雪の伤 于 2011-7-17 17:34 编辑
奇怪的是为什么从Window_Base开始呢……
其实我更感觉应该从简单的Scene_Title开始。
枫起,其实是不是应该给super后面为什么加个()解释下,毕竟挺重要,传递参数啊。
作者:
枫起
时间:
2011-7-17 17:34
Wind2010 发表于 2011-7-17 13:25
Bug:
316行的注释应该是吧?
那里不是if == “”么?==是等于的意思吧?不等于不是!=么?
作者:
qq175908660
时间:
2011-8-5 16:41
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1