Project1
标题:
请教一个菜单画面的问题,内详
[打印本页]
作者:
summer92
时间:
2010-9-10 20:36
标题:
请教一个菜单画面的问题,内详
本帖最后由 summer92 于 2010-9-11 19:01 编辑
我想在菜单画面上(哪个画面都行)绘制角色的行走图,并且是原地踏步的状态
脚本达人帮忙瞄一瞄
作者:
summer92
时间:
2010-9-11 10:31
给点提示呗,
我搜索到:drew_chactoer...
bitmap=Cake(人物文件名)
cw=4/12 #两种格式的行走图
ch=3/8 #横向?纵行分割
rect=Rect.new(............) 获取一桢大小
self.contents.blt(x,y,bitmap,rect) #创建图象
大致知道这个原理,可怎么写也没成功.而且图象不会动,- -实在不会才提问Y
作者:
八云紫
时间:
2010-9-11 10:41
#--------------------------------------------------------------------------
# ● 绘制行走图
# character_name : 行走图文件名
# character_index : 行走图号码
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_character(character_name, character_index, x, y, x_n = 0, y_n = 0)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
if sign != nil and sign.include?('$')
cw = bitmap.width / 3
ch = bitmap.height / 4
else
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+1+x_n)*cw, (n/4*4+y_n)*ch, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
复制代码
x_n y_n 自己调整。 需要动的话,在刷新里改这个两个值就可以了~~
作者:
summer92
时间:
2010-9-11 10:54
3Q,
所以我在 Gold_window 里的 初始化里面
draw_character("actor_1",1,100,100) #actor_1.png有主角行走图那张 编号1应该有图象了把
杂还是只有一个金钱窗口,麻烦LS再给我指点指点,哪里写不对...
作者:
八云紫
时间:
2010-9-11 11:07
坐标问题
作者:
summer92
时间:
2010-9-11 11:11
恩,先回去试试,您确定像我上面那么写,出现人物图象了把
作者:
八云紫
时间:
2010-9-11 11:25
自己去尝试下吧~~~
作者:
summer92
时间:
2010-9-11 18:27
不行啊
这样有
<code>class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# x : 窗口 X 座标
# y : 窗口 Y 座标
#--------------------------------------------------------------------------
def initialize(x, y)
super(40, 415, 160, WLH+32)
@sprite2 = Sprite.new
@sprite2.bitmap = Cache.system("actor1")
self.opacity = 255
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_currency_value($game_party.gold, 4, 0, 120)
end
end</code>
这样就没有
<code>class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# x : 窗口 X 座标
# y : 窗口 Y 座标
#--------------------------------------------------------------------------
def initialize(x, y)
super(40, 415, 160, WLH+32)
draw_character1("actor1",1,10,10,10,10) # 我改成了1
self.opacity = 255
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_currency_value($game_party.gold, 4, 0, 120)
end
end</code>
ls你开RM写一个把,真不明白这个draw_character怎么用
作者:
trentswd
时间:
2010-9-11 18:41
原地踏步还是不要用draw吧,draw不是很废时间吗……
建一个新sprite更好吧,ls你第一段代码就是用的sprite
为什么没有,是因为每次refresh的时候,把contents擦掉了
作者:
summer92
时间:
2010-9-11 18:44
用sprite 不会啊,想用默认做好的,就是不会使啊 ,自己写又得研究半天
self.contents.blt 这句,写成 bitmap.contents.blt(rect),死活都是错,我记得xp里是这样用没错啊
。。。。不会脚本真的。。
作者:
八云紫
时间:
2010-9-11 18:58
第二种方法我测试正常,但是在显示上有点问题, 坐标需要调很久,不知道为什么.
另外, 范例什么的,我是不会去做的,抱歉. 个人比较忙.
================================================
红字: 我显示成功过
作者:
summer92
时间:
2010-9-11 19:02
- -看来我RP了,就这样把
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1