| 赞 | 1 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2015-10-26 |
| 在线时间 | 66 小时 |
巴斯克维尔的猎犬
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 66 小时
- 注册时间
- 2007-6-25
- 回帖
- 8211

|
发表于 2012-11-27 20:38:52
|
显示全部楼层
本帖最后由 匈魔剑 于 2012-11-27 20:47 编辑
改变图片这个没有现成的方法,所以要在Game_Character类里现写一个方法
我写了一个,你可以根据自己的需要来完善
[pre lang="ruby" line="2"]
#--------------------------------------------------------------------------
# ● 手动改变角色图形★
#--------------------------------------------------------------------------
def changeCharPic(picName, hue, patt)
@tile_id = 0
@character_name = picName if picName!=nil
@character_hue = hue if hue!=nil
@pattern = patt if patt!=nil
@original_pattern = patt if patt!=nil
end[/pre]picName 就是行走图的文件名
hue是色相,看帮助文档,好像范围是0-360……我没研究过,你可以试试。
patt是图案。范围是0-3,你知道的,行走图在一个方向有四个图案。直立、伸左腿、迈右键……
我写成这三个值都支持nil,当输入nil时,对应的不变。比如只改变角色图形,但是不想改变色相和图案……
其实这方法的目的就是改@character_name @character_hue @pattern 这三个值,你嫌麻烦的话也可以直接把它们改成attr_accssor,然后在外面任何一个类里都可以直接chara.character_name="xxx"这样地改……
上面我写的这个方法使用的时候,需要先得到对应的那个角色
举个例子,我写在Interpreter类里的话(或者写在事件的脚本里)
[pre lang="ruby" line="2"]
#--------------------------------------------------------------------------
# ● 改变角色图形
# evtId - 事件ID
# picName - 行走图文件名
# hue - 行走图色相
# pattern - 行走图图案
#--------------------------------------------------------------------------
def bian(evtId, picName, hue, pattern)
chara = get_character(evtId)
chara.changeCharPic(picName, hue, pattern)
end[/pre]
可以直接很方便地用里面的get_character这个方法,根据事件ID来获取当前地图上的角色。
但是如果想写在其他类里的话,就不能直接用这个方法了,不过可以搜一下这方法,看一下是怎么写的,很简单,就是从数组里拿个值而已……
改变方向就比较简单的,Game_Character里有现成的转向用的4个方法。turn_down turn_left turn_right turn_up
下面举个例子,也是写在Interpreter类里(或者写在事件的脚本里),注意也要先get_character。
[pre lang="ruby" line="2"]
#--------------------------------------------------------------------------
# ● 改变角色方向
#--------------------------------------------------------------------------
def zhuan(evtId, dirt)
chara = get_character(evtId)
case dirt
when 2:
chara.turn_down
when 4:
chara.turn_left
when 6:
chara.turn_right
when 8:
chara.turn_up
end
end[/pre]
然后在事件脚本里直接调用 bian和zhuan,就可以实现改角色图形和转向了。
范例,改的地方在脚本里有★:
|
|