Project1

标题: 战斗状态加头像的问题 [打印本页]

作者: 果冻叮当猫    时间: 2008-9-25 21:22
标题: 战斗状态加头像的问题
  #--------------------------------------------------------------------------
  # ● 战斗时图形的描绘
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_battle_actor(actor, x, y)
    bitmap=Bitmap.new("Graphics/Pictures/#{actor.id}")
    Bitmap.z = 400
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw/20, y - ch, bitmap, src_rect)
  end



为什么    Bitmap.z = 400  会有错误 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: seles    时间: 2008-9-25 21:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-25 21:33
Bitmap 是 类名。

还有 Bitmap 的实例 没有 z 属性。
作者: 青椒    时间: 2008-9-25 21:35
改成255会不会好点……
(我对脚本一概不通,请事先备份……)
作者: 果冻叮当猫    时间: 2008-9-25 21:36
以下引用八云紫于2008-9-25 13:33:20的发言:

Bitmap 是 类名。

还有 Bitmap 的实例 没有 z 属性。

那为什么有些人用了没有问题?可是我自己做的游戏这个问题就来了!郁闷
作者: 果冻叮当猫    时间: 2008-9-25 21:38
以下引用青椒于2008-9-25 13:35:01的发言:

改成255会不会好点……
(我对脚本一概不通,请事先备份……)

哪里可以这样改的?
作者: 殲滅天使·玲    时间: 2008-9-25 22:15
F1的 RGSS 内部类 你查看 Bitmap ...
你看看有Z这个方法不...Orz...
作者: Bhaal    时间: 2008-9-25 22:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 22:19
以下引用殲滅天使·玲于2008-9-25 14:15:22的发言:

F1的 RGSS 内部类 你查看 Bitmap ...
你看看有Z这个方法不...Orz...


找不到哦!
作者: 殲滅天使·玲    时间: 2008-9-25 22:20
以下引用Bhaal于2008-9-25 14:17:09的发言:

你把bitmap改成self试试。。。。。。

SELF也是没用的....
bitmap这个类里 没有 z 这个方法..用不了的...Orz...

作者: Bhaal    时间: 2008-9-25 22:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 22:27
以下引用殲滅天使·玲于2008-9-25 14:20:20的发言:


以下引用Bhaal于2008-9-25 14:17:09的发言:

你把bitmap改成self试试。。。。。。


SELF也是没用的....
bitmap这个类里 没有 z 这个方法..用不了的...Orz...


我在别人的脚本里也找不到bitmap类!可是他用了就很正常!郁闷中!
作者: Bhaal    时间: 2008-9-25 22:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 22:30


不加那句Bitmap.z =400就成这样了!
作者: Bhaal    时间: 2008-9-25 22:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 殲滅天使·玲    时间: 2008-9-25 22:35

我在别人的脚本里也找不到bitmap类!可是他用了就很正常!郁闷中!
别人是不是用的是 window的 .z....= =

像你签名的图不是很好了么..
能不能改变一下 Y坐标?


你窗口大小不够..你放在窗口里显示 一定会那样子的吧

我是脚本初学者,如果说得有什么地方不对,请指出更正..
作者: 果冻叮当猫    时间: 2008-9-25 22:45
我也不大清楚!
你看上面那张图!一点都不好!图片都在窗口里面的!
作者: seles    时间: 2008-9-25 22:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 22:49
以下引用seles于2008-9-25 14:48:48的发言:

你把头像Z值调高不就盖住你那个血条了么??

问题是练提高都不行
作者: Bhaal    时间: 2008-9-25 22:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 22:55
不然有什么办法可以在类里面添加个z值?
作者: Bhaal    时间: 2008-9-25 22:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 23:06
以下引用Bhaal于2008-9-25 14:59:46的发言:

你在Window_Base下的:
def initialize(x, y, width, height)
   super()
   @windowskin_name = $game_system.windowskin_name
   self.windowskin = RPG::Cache.windowskin(@windowskin_name)
   self.x = x
   self.y = y
   self.width = width
   self.height = height
   self.z = 100
end

后面就添加:

def draw_battle_actor(actor, x, y)
  bitmap=Bitmap.new("Graphics/Pictures/#{actor.id}")
  cw = bitmap.width
  ch = bitmap.height
  src_rect = Rect.new(0, 0, cw, ch)
  self.contents.blt(x - cw/20, y - ch, bitmap, src_rect)
  self.z = 400
end

如果你没有改过Window_BattleStatus里的super后面的坐标,是不会出现那个情况的,你看看你有没有改super里的数。

还是不行!崩溃中~
作者: 闪电    时间: 2008-9-25 23:06
这段话是在Window_Base里面定义的吧,Z值能不能到插入的地方去调整
Window_BattleStatus 里面def refresh下面
  for i in 0...$game_party.actors.size
      actor = $game_party.actors
      actor_z = 400 #可以这么加吗?我没法试


作者: Bhaal    时间: 2008-9-25 23:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-25 23:15

http://rpg.blue/upload_program/goods/103_102784491.rar
作者: 果冻叮当猫    时间: 2008-9-25 23:23
认不认识 玄月 ?这个人貌似知道怎么改
作者: 果冻叮当猫    时间: 2008-9-25 23:25
以下引用闪电于2008-9-25 15:06:27的发言:

这段话是在Window_Base里面定义的吧,Z值能不能到插入的地方去调整
Window_BattleStatus 里面def refresh下面
for i in 0...$game_party.actors.size
     actor = $game_party.actors
     actor_z = 400 #可以这么加吗?我没法试



也是不行!这样也是整个窗口的z值改变了 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『连贴太频繁了- -』,积分『-50』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 闪电    时间: 2008-9-25 23:36
def draw_actor_pic(actor,x,y)
bitmap = RPG::Cache.battler(actor.name , actor.battler_hue)
bitmap.z =400
self.contents.blt(x,y,bitmap,Rect.new(0,0,bitmap.width,bitmap.height ))
end

看看?
作者: Bhaal    时间: 2008-9-25 23:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-26 02:05
以下引用Bhaal于2008-9-25 15:40:58的发言:

我看了你的脚本,发现你把

def draw_battle_actor(actor, x, y)
bitmap=Bitmap.new("Graphics/Pictures/#{actor.id}")
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw/20, y - ch, bitmap, src_rect)
self.z = 400
end

这段话放到了Window_Base的最侯了,就按照我22L说的放,至于头像的位置,你在Window_BattleStatus里的
draw_battle_actor(actor,actor_x,160)
这句话调整后两个坐标就可以了。

其他问题没有发现。。。。。。。。。。。。。。。。。。


[本贴由作者于 2008-9-25 15:42:06 最后编辑]


把你改好的给我看看!我这边还是不行

作者: 灯笼菜刀王    时间: 2008-9-26 02:39
以下引用果冻叮当猫于2008-9-25 14:30:59的发言:



不加那句Bitmap.z =400就成这样了!


[本贴由作者于 2008-9-25 14:32:19 最后编辑]


= =这张图的问题不是Z的关系吧,是因为Y坐标的关系....
作者: 果冻叮当猫    时间: 2008-9-26 03:20
以下引用灯笼菜刀王于2008-9-25 18:39:34的发言:


以下引用果冻叮当猫于2008-9-25 14:30:59的发言:



不加那句Bitmap.z =400就成这样了!


[本贴由作者于 2008-9-25 14:32:19 最后编辑]



= =这张图的问题不是Z的关系吧,是因为Y坐标的关系....


好像也不是啊

作者: 灯笼菜刀王    时间: 2008-9-26 03:34
你是不是要把头像做成像签名那样的位置?


直接用PS做出想要的效果,然后再来讨论如何做比较好吧.....
作者: 果冻叮当猫    时间: 2008-9-26 03:35
以下引用灯笼菜刀王于2008-9-25 19:34:10的发言:

你是不是要把头像做成像签名那样的位置?

不是,我是要移到上面而且不被窗口挡住
作者: 殲滅天使·玲    时间: 2008-9-26 03:35
把 战斗状态框 透明掉吧 (0, 0, 640, 480)..然后自制图片.达到伪.战斗状态框的效果..
作者: 灯笼菜刀王    时间: 2008-9-26 03:40
那一开始使用的方法就错了。

在WINDOW BATTLESTATE里描绘头像,无论Z多高它都会被WINDOW BATTLESTATE所限制,也就是说,它的大小不会超过WINDOW BATTLESTATE的SUPER。

想要头像盖住窗口,头像的图片要在SCENE BATTLE里显示,然后调整它的精灵的Z,让它比WINDOW BATTLESTATE这个窗口的Z高就可以盖在上面了。


比较好的做法,同时也是通用的做法就是像玲儿说的,使用图片达到伪战斗窗口的表现。
作者: 果冻叮当猫    时间: 2008-9-26 06:16
以下引用灯笼菜刀王于2008-9-25 19:40:08的发言:

那一开始使用的方法就错了。

在WINDOW BATTLESTATE里描绘头像,无论Z多高它都会被WINDOW BATTLESTATE所限制,也就是说,它的大小不会超过WINDOW BATTLESTATE的SUPER。

想要头像盖住窗口,头像的图片要在SCENE BATTLE里显示,然后调整它的精灵的Z,让它比WINDOW BATTLESTATE这个窗口的Z高就可以盖在上面了。


比较好的做法,同时也是通用的做法就是像玲儿说的,使用图片达到伪战斗窗口的表现。


[本贴由作者于 2008-9-25 19:43:37 最后编辑]


要不是有人做得出这个!我还真的想说是错的!可是别人真的能运行!超级无语!
作者: 灯笼菜刀王    时间: 2008-9-26 06:28
-。-我想说,那样的效果就是.....



嘛,一样的说-。-

人家可不是在WINDOW BATTLESTATE里描绘头像的


作者: 果冻叮当猫    时间: 2008-9-26 06:50
以下引用灯笼菜刀王于2008-9-25 22:28:30的发言:

-。-我想说,那样的效果就是.....



嘛,一样的说-。-

人家可不是在WINDOW BATTLESTATE里描绘头像的


那应该如何面会呢。实在是想不到办法
作者: 灯笼菜刀王    时间: 2008-9-26 06:54
以下引用灯笼菜刀王于2008-9-25 19:40:08的发言:

那一开始使用的方法就错了。

在WINDOW BATTLESTATE里描绘头像,无论Z多高它都会被WINDOW BATTLESTATE所限制,也就是说,它的大小不会超过WINDOW BATTLESTATE的SUPER。

想要头像盖住窗口,头像的图片要在SCENE BATTLE里显示,然后调整它的精灵的Z,让它比WINDOW BATTLESTATE这个窗口的Z高就可以盖在上面了。


比较好的做法,同时也是通用的做法就是像玲儿说的,使用图片达到伪战斗窗口的表现。


[本贴由作者于 2008-9-25 19:43:37 最后编辑]


发现楼主很喜欢无视别人.....
[LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: 果冻叮当猫    时间: 2008-9-26 07:12
以下引用灯笼菜刀王于2008-9-25 22:54:19的发言:


以下引用灯笼菜刀王于2008-9-25 19:40:08的发言:

那一开始使用的方法就错了。

在WINDOW BATTLESTATE里描绘头像,无论Z多高它都会被WINDOW BATTLESTATE所限制,也就是说,它的大小不会超过WINDOW BATTLESTATE的SUPER。

想要头像盖住窗口,头像的图片要在SCENE BATTLE里显示,然后调整它的精灵的Z,让它比WINDOW BATTLESTATE这个窗口的Z高就可以盖在上面了。


比较好的做法,同时也是通用的做法就是像玲儿说的,使用图片达到伪战斗窗口的表现。


[本贴由作者于 2008-9-25 19:43:37 最后编辑]



发现楼主很喜欢无视别人.....



[本贴由作者于 2008-9-25 22:55:47 最后编辑]


我怎么会无视呢!只是比较忙!谢谢!我去试试看哈





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1