幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: 幻耶

[RMXP] 这段并行事件能不能写到脚本里去啊?

[复制链接]

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2009-12-31 09:35:41 | 显示全部楼层
搜遍了整个脚本编辑器也没有animation_duration 啊,Sprite_Base也不知道在哪儿
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2009-12-31 10:26:49 | 显示全部楼层
你用的是XP我给忘了。。。

XP的RPG::Sprite被“藏”起来了

他有这么个方法  更新动画用的
    def update_animation
      if @_animation_duration > 0
        frame_index = @_animation.frame_max - @_animation_duration
        cell_data = @_animation.frames[frame_index].cell_data
        position = @_animation.position
        animation_set_sprites(@_animation_sprites, cell_data, position)
        for timing in @_animation.timings
          if timing.frame == frame_index
            animation_process_timing(timing, @_animation_hit)
          end
        end
      else
        dispose_animation
      end
    end


看这一句if @_animation_duration > 0   这就是剩余时间

      if @_animation_duration > 0更新
      else
        dispose_animation #剩余时间小于0了,也就是动画播放完毕了,就释放动画
      end
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-1-7 10:58:33 | 显示全部楼层
改成这样??

    def update_animation
      if @_animation_duration > 0
        frame_index = @_animation.frame_max - @_animation_duration
        cell_data = @_animation.frames[frame_index].cell_data
        position = @_animation.position
        animation_set_sprites(@_animation_sprites, cell_data, position)
        for timing in @_animation.timings
          if timing.frame == frame_index
            animation_process_timing(timing, @_animation_hit)
          end
        end
      else
        dispose_animation
      end
    end


class Scene_Map
alias update_old update
def update
update_old
    # 按下 S键的情况下
    if Input.press?(Input::Y)
      case $game_player.direction
      when 2
        $game_player.animation_id = 201
        $game_variables[10] += 1
      when 4
        $game_player.animation_id = 202
        $game_variables[9] -= 1
      when 6
        $game_player.animation_id = 203
        $game_variables[9] += 1
      when 8
        $game_player.animation_id = 204
        $game_variables[10] -= 1
      end
     $game_map.events[45].moveto($game_variables[9] , $game_variables[10])
      if @_animation_duration > 0
      update_animation
      else
        dispose_animation #剩余时间小于0了,也就是动画播放完毕了,就释放动画
      end
      return

end
end

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-1-7 11:53:58 | 显示全部楼层
XP的RPG::Sprite被“藏”起来了

他有这么个方法  更新动画用的
    def update_animation
      if @_animation_duration > 0

@_animation_duration  是属于 RPG::Sprite的

你那样写不成了 Scene_Map 的 @_animation_duration  了么。。。

应该在Spriteset_Map中做手脚啊。。。你的地方也不对。。
@_animation_duration   的调用应该在 Spriteset_Map 中 以 sprite._animation_duration出现。。。等有空做一个吧。。现在没空
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-1-8 16:22:29 | 显示全部楼层
Spriteset_Map和Scene_Map的区别是什么啊?等啊等。。。
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-1-8 16:49:06 | 显示全部楼层
两个不同的类啊。。。。

一个是场景类(scene),一个是精灵类(Sprite_map)
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-18 19:19 , Processed in 0.011249 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表