Project1
标题:
如何用事件脚本修改module类的脚本?
[打印本页]
作者:
美丽晨露
时间:
2013-10-12 21:36
标题:
如何用事件脚本修改module类的脚本?
RUBY 代码
复制
module
Image
# 背景图片
Background =
RPG::Cache
.
picture
(
"background"
)
module
Image
# 背景图片
Background =
RPG::Cache
.
picture
(
"background"
)
在事件脚本写入 Background = RPG::Cache.picture("background2")
好像没有效果啊。
请问要怎么使用事件脚本修改module类的脚本?
作者:
myownroc
时间:
2013-10-12 22:00
我觉得可以这样,执行脚本时先进行一个判断(if),根据开关或变量的值执行后面的脚本。
作者:
yagami
时间:
2013-10-12 22:10
Image::Background = RPG::Cache.picture("background2")
作者:
恐惧剑刃
时间:
2013-10-12 22:32
本帖最后由 恋′挂机 于 2013-10-12 22:44 编辑
那样在事件中输入当然没有效果了(因为没有描绘)
一般用此类方法(RPG::Cache)显示图片的输入格式如下:
bitmap = RPG::Cache.picture("")
rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(x, y, bitmap, rect)
预设脚本中很多地方都有,不过全部都是在窗口中描绘的。
以上只是说明,没有效果的原因,也就是没有描绘(blt)
能够正确显示图片的脚本如下,下方有简单解释
# 直接放在事件中就可以
a = Sprite.new
a.bitmap = Bitmap.new(640 - 32, 480 - 32)
# 改路径和文件名就可以了
bitmap = RPG::Cache.title("001-Title01")
rect = Rect.new(0, 0, bitmap.width,
bitmap.height)
a.bitmap.blt(0, 0, bitmap, rect)
复制代码
bit属于Bitmap的属性
所以描绘之前一定要建立Bitmap的对象,
参照默认的例子 a.bitmap = Bitmap.new(xxxx)
让a能够使用bitmap方法,只能建立Sprite对象
然后再描绘图像。
另外我这里说的bitmap和Bitmap是两个概念不要混淆了
bitmap是Sprite的方法,Bitmap是独立的类
另外,
模块不是那样写的
简单例子:
module SHEZHI
ITEM = [1, 2, 3]
end
class Interpreter
include SHEZHI
end
在事件中使用 p SHEZHI::ITEM 看看吧~~
会显示 [1, 2, 3]
想说的:
1.要引用模块中的量,需要使用常量(也就是全是大写字母的变量)
2.要想在某个类中使用该模块,需要导入模块,也就是include SHEZHI
3.在以上2点都没问题的情况下, 使用 模块名::常量名 的方式就可以读取到常量的值
以上3点任意一点有问题,都不会正常显示,
要在事件脚本中p就要在Interpreter类导入模块,Interpreter就是常说的 事件解释器
作者:
芯☆淡茹水
时间:
2013-10-12 22:49
直接弄个全局变量,比如:$back_name = "背景图片名"
然后把读取的地方改掉:Background = RPG::Cache.picture($back_name)
改变背景图片,就在 事件 --> 脚本 里,写上 :$back_name = "背景图片名"
没试过,可以试下。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1