Project1

标题: 如何用脚本写出原地踏步的动画(500分) [打印本页]

作者: 八云紫    时间: 2008-7-22 17:44
标题: 如何用脚本写出原地踏步的动画(500分)
在 Window_Base 里定义了这个方法

draw_character(character_name, character_index, x, y)

当 character_index = 0 的时候,就描绘脸朝下(正面)的行走图,问题

是,怎么才能描绘 角色的行走图,使其 脸朝左 或者  脸朝右 呢??

[LINE]1,#dddddd[/LINE]
[LINE]1,#dddddd[/LINE]

一个新问题,不想开新帖了。

如何用脚本写出 角色行走 ? 就是说是 原地踏步 。

作者: dbshy    时间: 2008-7-22 17:52
   bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
   w = bitmap.width / 4
   h = bitmap.height / 4
   src_rect = Rect.new(x, y, w, h)
   xxx.blt(x,y, bitmap, src_rect)
  
调整X,Y坐标即可
作者: 八云紫    时间: 2008-7-22 18:00
这句错了,

    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)

Cache.character 的参数只有一个。{/hx}
作者: dbshy    时间: 2008-7-22 18:01
以下引用八云橙于2008-7-22 10:00:01的发言:

这句错了,

   bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)

Cache.character 的参数只有一个。


不好意思,写了XP的,你自己该一下
作者: 八云紫    时间: 2008-7-22 18:09
不行啊。

人物行走图使用单张的话,会显示不出来。

使用一个大张(就是有8个人的那种)的话,显示会出错。
作者: dbshy    时间: 2008-7-22 18:17

bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)

#获取RECT的高和宽
  比如是大张 分别除12和8
  w = bitmap.width / 4
  h = bitmap.height / 4

这里的X Y请该成你想要截取的行走土在整张图的X ,Y坐标
  src_rect = Rect.new(x, y, w, h)
#传送
  xxx.blt(x,y, bitmap, src_rect)
[LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 八云紫    时间: 2008-7-22 18:51
以下引用dbshy于2008-7-22 10:17:29的发言:


bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)

#获取RECT的高和宽
比如是大张 分别除12和8
w = bitmap.width / 4
h = bitmap.height / 4

这里的X Y请该成你想要截取的行走土在整张图的X ,Y坐标
src_rect = Rect.new(x, y, w, h)
#传送
xxx.blt(x,y, bitmap, src_rect)


好吧,问题解决了. 不过您说的有点错误;

1.character 的参数只有一个;

2. VX行走图单张的话,应该是:
   w = bitmap.width / 3
   h = bitmap.height / 4
[LINE]1,#dddddd[/LINE]

还是先认可你好了。{/hx}
作者: dbshy    时间: 2008-7-22 18:59
Cache.character(character_name)

w = bitmap.width / 3
h = bitmap.height / 4

我对VX不熟{/hx}

园地踏步
@step_anime = true
作者: zreo    时间: 2008-7-22 19:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-7-22 19:13
以下引用dbshy于2008-7-22 10:59:50的发言:

园地踏步
@step_anime = true


能不能具体点,谢谢了{/hx}

(PS: 最好是在  Window 类里可以使用)
以下引用zreo于2008-7-22 11:08:12的发言:

用脚本可能很简单~~但是不是很直观~~

俺有个想法~~~要是说得不对或行不同大家就无视俺吧~~

能不能先用软件编辑好踏步的gif动画,然后写个支持gif代入的脚本这样不行么?
其实用软件编辑gif动画很简单的~~~PhotoShopCS自带的ImageReady就可以制作!
在VX中是否能显示gif动画的问题俺以前就提过~~~得到的答复是可能行得通,但是必须重新写脚本......


汗~~~~ 只是一个 踏步动画,要用到 GIF 么??
作者: wy29    时间: 2008-7-22 19:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-7-22 19:38
class Window_Base < Window
  #先设置2个变量
    @index = 0
    @phase = 0

  def draw_walk_actor_graphic(actor, x, y)
      #该成VX
      bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
      w = bitmap.width / 4
      h = bitmap.height / 4
      根据@phase确定行走土
      如果是大行走土,请自己修改坐标
      case @phase
      when 0
        x = 0
      when 1
        x = w
      when 2
        x = w * 2
      when 3
      x = w * 3
      end
      src_rect = Rect.new(x, 0, w, h)
    end
    self.contents.blt(x bitmap, src_rect)
  end

  alias old_update update
  def update
    old_update
      @index += 1
     用SPEED来控制速度        
     if @turn_index == SPEED then
        refresh
        @index = 0
        @phase = (@phase+1)%4
      end
    end
[LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~




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