- 注册时间
- 2007-3-24
- 最后登录
- 2007-7-23
③业余
- 积分
- 145

|
几天前找到的东东,一起分享一下,略有改动。
1。显示文章
$game_temp.message_text = "你想要的文字"
比如你在事件脚本里打上$game_temp.message_text = "啊啊啊!",那就会出现一个对话框写着“啊啊啊!”。
#小g注:这种方法使用后会一直"啊"个不停,这里提供一个使用循环的方法 
当然,也可以全用脚本完成,但~这不是自己给自己找麻烦吗!!
2。更改对话框位置
$game_system.message_position = 数字
这个数字代表的是对话框的显示位置,默认的只有三个位置,但是可以通过在脚本Window_Message里面自行添加新的位置(不是本教程的内容,就不说了。)0代表在上面显示,1代表在中间,2代表在下面。当然也可以是别的数字,不过必须在Window_Message里面定义。
#其实添加新位置就在Window_Message类里
case $game_system.message_position
when 0 # 上
self.y = 16
when 1 # 中
self.y = 160
when 2 # 下
self.y = 304
end
后面接着添就行了
3。更改对话框透明度
$game_system.message_frame = 数字
这里的数字只能是0或者1,0代表完全不透明,1代表完全不透明。当然这个和对话框的显示位置一样,也可以在脚本Window_Message里面添加新的选项以做出不同的透明度。
#方法同上,只是把if条件句换成case条件句就OK了.
4。等待
@wait_count = 等待帧数
比如@wait_count = 30就是等待30帧。
5。调用公共事件
$game_temp.common_event_id = 公共事件的编号
比如$game_temp.common_event_id = 1就是调用一号公共事件。
6。开关操作
$game_switches[变量编号] = true/false
true代表打开开关,而false则代表关闭开关。
比如$game_switches[1] = true就是打开一号开关。
7。变量操作
变量操作和别的操作相比有所不同,因为变量可以代入很多东西~
$game_variables[变量编号] = 变量数值
这个变量数值可以是很多东西,可以是:
$game_variables[1] = 16(直接代入数字,这个代表一号变量的数值为16。)
$game_variables[1] = $game_variables[2](一号变量等于#不是等于是代入!二号变量的数值)
$game_variables[1] = rand(60)(一号变量等于0到59的随机数)
$game_variables[1] = $game_actors[1].hp(一号变量等于#代入一号角色的HP)
$game_variables[1] = $game_actors[1].sp(一号变量等于#代入一号角色的SP)
$game_variables[1] = $game_party.item_number(1)(一号变量等于#代入一号道具的数量)
等等等。。。 #在此提醒一下新手 = 与 ==不一样~~总之,只要是一切可以用数字表示的东西,都可以代入变量,甚至是计算!比如:$game_variables[1] = $game_variables[2] + 18就代表一号变量的值是二号变量的值加上18。
以下是一些在事件的变量操作中可以用数字表示的东西!也适用于事件脚本!
$game_actors[角色编号].hp 指定编号的角色的HP
$game_actors[角色编号].sp 指定编号的角色的SP
$game_actors[角色编号].maxhp 指定编号的角色的最大HP
$game_actors[角色编号].maxsp 指定编号的角色的最大SP
$game_actors[角色编号].exp 指定编号的角色的经验值
$game_actors[角色编号].level 指定编号的角色的等级
$game_actors[角色编号].class_id 指定编号的角色的职业编号
$game_actors[角色编号].weapon_id 指定编号的角色的武器编号
$game_actors[角色编号].armor1_id 指定编号的角色的盾牌编号
$game_actors[角色编号].armor2_id 指定编号的角色的头部防具编号
$game_actors[角色编号].armor3_id 指定编号的角色的身体防具编号
$game_actors[角色编号].armor4_id 指定编号的角色的装饰品编号
$game_actors[角色编号].str 指定编号的角色的力量
$game_actors[角色编号].dex 指定编号的角色的灵巧
$game_actors[角色编号].int 指定编号的角色的魔力
$game_actors[角色编号].atk 指定编号的角色的攻击力
$game_actors[角色编号].pdef 指定编号的角色的物理防御
$game_actors[角色编号].mdef 指定编号的角色的魔法防御
$game_actors[角色编号].eva 指定编号的角色的回避修正
$game_troop.enemies[敌人编号].hp 指定编号的敌人的HP,角色的一些资料可以同样用在敌人身上(哪些才能用应该看得出吧= =|||),比如sp,str,dex等等。
$game_player.x 角色的地图x坐标
$game_player.y 角色的地图y坐标
$game_player.direction 角色的朝向下/左/右/上分别是2/4/6/8
$game_player.screen_x 角色的屏幕x坐标
$game_player.screen_y 角色的屏幕y坐标
$game_player.terrain_tag 角色的地形标志 #指脚下的
$game_map.map_id 当前地图的ID
$game_map.events[事件编号].x 指定编号的事件的地图x坐标,所有和$game_player相关的东西其实都可以换成和地图的某个事件相关,只要把$game_player换成$game_map.events[事件编号]就可以了,如果需要的是本事件,则在事件编号处直接写上@event_id。
$game_party.actors.size 同伴人数
$game_party.steps 步数
$game_party.gold 所持金钱
Graphics.frame_count / Graphics.frame_rate 游戏总时间(秒)
$game_system.timer / Graphics.frame_rate 计时器时间(秒)
$game_system.save_count 存档次数
大概就是这些了。。。嘻嘻嘻。其实还有很多,但是没全部写出来,大家自己去发掘吧!记住!BT者无所不能。。。什么?错了错了,应该是所有用数字能表示的东西都可以代入变量!
#还有很多,祥见最后
8。计时器操作
要操作计时器,必须先用
$game_system.timer = 计时器的时间(秒)* Graphics.frame_rate
来设定计时器的时间,然后使用$game_system.timer_working = true来启用计时器。如果要关闭计时器,则使用$game_system.timer_working = false。
9。增减金钱
$game_party.gain_gold(金钱数量)
或者是$game_party.gold += 金钱数量
两者都可以使用,意义是一样的。比如$game_party.gain_gold(100)和$game_party.gold += 100是一样的。
10。增减物品
$game_party.gain_item(物品编号,增加数量)
或者$game_party.item_number(物品编号) += 数量
$game_party.lose_item(物品编号,减少数量)
或者$game_party.item_number(物品编号) -= 数量
比如$game_party.gain_item(1,2)就是一号物品增加两个,$game_party.lose_item(3,1)就是三号物品减少一个。
11。增减武器
和增减物品道理相同,只是把所有的item换成了weapon(=_=|||),操作方法和原理都相同。
$game_party.gain_weapon(武器编号,增加数量)
或者$game_party.weapon_number(武器编号) += 数量
$game_party.lose_weapon(武器编号,减少数量)
或者$game_party.weapon_number(武器编号) -= 数量
比如$game_party.gain_weapon(1,2)就是一号武器增加两个,$game_party.lose_weapon(3,1)就是三号武器减少一个。
12。增减防具
和增减物品道理相同,只是把所有的item换成了armor(Orz无限),操作方法和原理都相同。
$game_party.gain_armor(防具编号,增加数量)
或者$game_party.armor_number(防具编号) += 数量
$game_party.lose_armor(防具编号,减少数量)
或者$game_party.armor_number(防具编号) -= 数量
比如$game_party.gain_armor(1,2)就是一号防具增加两个,$game_party.lose_armor(3,1)就是三号防具减少一个。
13。替换队员
用$game_party.add_actor(角色编号)加入队员,用$game_party.remove_actor(角色编号)让队员离队。如果需要初始化队员,就用$game_party[角色编号].setup(角色编号)。比如
$game_party.add_actor(1)
$game_party[1].setup(1)
就是在队伍中加入一号角色并且初始化。
14。更改窗口皮肤
$game_system.windowskin_name = "窗口皮肤文件的名称"
比如$game_system.windowskin_name = "01"就是把当前的窗口皮肤文件换成一个叫做01的窗口皮肤文件,所有窗口皮肤文件都是放在Windowskins文件夹里面的。
15。更改禁止存档
$game_system.save_disabled = true/false
true代表禁止存档,false代表可以存档。
16。更改禁止菜单
$game_system.menu_disabled = true/false
true代表禁止呼出菜单,false代表可以呼出菜单。
17。更改禁止遇敌
$game_system.encounter_disabled = true/false
true代表禁止遇敌,false代表可以遇敌。
18。设置事件位置
$game_map.events[事件编号].moveto(地图x坐标,地图y坐标)
比如$game_map.events[3].moveto(5,6)就是把3号事件移到地图的5,6坐标的位置上。
19。画面卷动
$game_map.start_scroll(卷动方向,卷动距离,卷动速度)
数字2/4/6/8代表方向下/左/右/上,距离自定(别卷出地图了),卷动速度为1到6,当然要更大的数也可以,不过可能太快了,没什么意义= =|||。。。比如$game_map.start_scroll(4,5,3)
就表示画面以慢速(3是慢速)向左(4)卷动5格。
20。显示动画
显示在角色身上就使用$game_player.animation_id = 动画编号,比如
$game_player.animation_id = 3就是在角色身上显示三号动画。那如何在事件上显示动画呢?这个之前已经讲过了$game_player和事件的某种邪恶关系,如果记不住了,请回前面查找(邪恶)。。。
21。角色透明
$game_player.transparent = true/false
true代表角色透明,false代表角色不透明。
22。等待移动结束
@move_route_waiting = true
23。更改画面色调
$game_screen.start_tone_change(Tone.new(红色调,绿色调,蓝色调,灰度),时间)
比如$game_screen.start_tone_change(Tone.new(0,0,0,255),20)就是在20帧的时间内将画面色调渐变为灰色(做那种黑白场景用的)。
24。画面闪烁
$game_screen.start_flash(Color.new(红色调,绿色调,蓝色调,强度),时间)
比如$game_screen.start_flash(Color.new(255,255,0,255),2)就是持续2帧的黄色闪烁。
25。画面震动
$game_screen.start_shake(震动强度,震动速度,震动时间)
强度和速度为1到9,当然也可以更大!
比如$game_screen.start_shake(9,9,20)就是以9的强度9的速度震动画面20帧。
26。显示图片
$game_screen.pictures[图片编号].show("图片名字", 原点, 画面x坐标, 画面y坐标, x轴放大率, y轴放大率, 不透明度, 显示方式)
这个稍微复杂些,分开来讲会比较好~~~
图片名字就是要显示的图片的名字。
原点就是显示图片的原点位置,0代表左上,1代表中心。
画面的x坐标和y坐标就是图片原点的画面的x坐标和y坐标。
x轴放大率和y轴放大率就是以原点为中心的x方向和y方向放大率,100为正常大小。
不透明度就是图片的不透明度,为0到255。
显示方式其实就是图片的合成方式,0是正常,1是加法,2是减法。
比如$game_screen.pictures[1].show("BunnyGod", 1, 320, 240, 100, 100, 255, 0)
就是在画面中心显示一张正常大小,完全不透明,显示方式为正常,编号为1的叫做BunnyGod的图片。
27。移动图片
$game_screen.pictures[图片编号].move(移动时间, 原点, 画面x坐标, 画面y坐标, x轴放大率, y轴放大率, 不透明度, 显示方式)
原理和显示图片一样,由于图片已经显示,所以原本的图片名字也变成了移动时间。
比如$game_screen.pictures[1].move(20, 0, 0, 0, 100, 100, 0, 0)
就是在20帧内移动编号为1的图片并让其渐渐消失(注意:图片的移动都是渐变式的,不仅是位置,图片的大小和透明度也会跟着一起渐渐变化,就是用来做淡出和淡入图片用的。)。
28。旋转图片
$game_screen.pictures[图片编号].rotate(旋转速度)
这个旋转速度是由什么来决定的呢?到底代表着什么?其实这个代表的就是图片在每1帧内的旋转角度,而不是“速度”,由于旋转角度大了,自然速度看起来就快。这个值可以是负数,用来决定旋转的方向。正数是顺时针转,负数是逆时针转。
比如$game_screen.pictures[1].rotate(18)就是让一号图片以每帧18度的速度旋转。
29。图片消失
$game_screen.pictures[图片编号].erase
比如$game_screen.pictures[1].erase就是让编号为1的图片消失。
30。准备渐变
Graphics.freeze |
|