赞 | 1 |
VIP | 255 |
好人卡 | 52 |
积分 | 1 |
经验 | 77416 |
最后登录 | 2016-1-18 |
在线时间 | 1269 小时 |
Lv1.梦旅人 薄凉看客
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1269 小时
- 注册时间
- 2010-6-20
- 帖子
- 1316
|
本帖最后由 恋′挂机 于 2013-12-8 08:40 编辑
这个不算挖坟吧。。。。。。。
def initialize(x, y, width, height) # 带有参数的初始化函数,从一般窗口初始化函数传递过来super(x, y, width, height)
super() # 父类同名函数
@windowskin_name =$game_system.windowskin_name # 这个只是窗口图片名!!!!!!
self.windowskin =RPG::Cache. windowskin(@windowskin_name) # 这才是修改皮肤!!并带入图片名称
self.x = x # X坐标
self.y = y # Y坐标
self.width = width # 宽度
self.height = height # 高度
self.z = 100 # Z坐标,你可能知道默认窗口的Z都是100,这就是原因!!!
end
把Scene_Menu的79行注释掉,测试打开菜单看看有什么效果?
发现状态窗口保存在了地图中,所以需要释放(图片,窗口等等)
def dispose
# 如果窗口的内容已经被设置就被释放
if self.contents != nil # 如果窗口的contents属性生成了Bitmap
self.contents.dispose # 释放
end
super
end
为什么要super这个好难解释。。。
你只释放了他的Bitmap,让窗口本身释放掉并不是在Window_Base里定义的,
应该在Window类吧所以需要super。
不过看主楼,LZ连实例变量、方法<或称函数>、类等概念还很模糊的建议去看看某侠的录像!
@windowskin_name 只是一个实例变量,和windowskin是不是一个类这根本就是八竿子打不着。
# 其实看完F1基础篇就能创作脚本了,只是新手没有方向而已,老鸟都说F1好,新手却不会用!!!
# 你去搜索看看啊!!!!在F1中搜索windowskin,发现是Window类的属性(应该是用attr定义的)
# 就又设计到了属性(attr)在Game_Temp中添上一个attr_accessor :aaa
# $game_temp.aaa = 10
# p $game_temp.aaa
# attr_accessor和attr_reader都是可以直接“.xxx”取到值,所以“.xxx” xxx可能是某方法也可能是某属性!!!和类根本不是一个概念!!!
self.windowskin = RPG::Cache. windowskin(@windowskin_name)
现在你去搜索RPG::Cache,看看吧,可以找到RPG::Cache. windowskin是模块方法
RPG::Cache这个模块就是读取各种图片的!!!!!!!
contents是Window的属性,也就是说任何一个窗口都具有这样的属性
搜索contents看看吧,窗口内容的位图
既然是位图当然要Bitmap.new了
在Bitmap去再去描绘文本矩形图片等等 |
评分
-
查看全部评分
|