设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2520|回复: 7
打印 上一主题 下一主题

RMVX非官方补丁 [地图上显示动画修正]

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
跳转到指定楼层
1
发表于 2009-6-12 08:00:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
鉴于不少人误会此补丁为官方补丁.我重新写下说明{/gg}
VX有一BUG.就是在地图上播放动画
人物行走画面滚动时候..动画会跟著画面一起移动

详情请点击进入原帖查看

鄙人写了一个补丁.(主要参考RMXP)
修正此问题
但要注意的是.
此补丁里包含了VX_SP1官方补丁.
所以.你可以直接把官方的VX_SP1补丁删除掉.
再把此脚本插到main前..
或者..如果你觉得莫尼卡大姐翻译很辛苦.
想保留VX_SP1补丁.
那你就把此脚本插到VX_SP1脚本之后
以下贴出脚本

  1. #==============================================================================
  2. # ■ VX_非官方补丁 [地图上显示动画修正]    —— By 诡异の猫
  3. #------------------------------------------------------------------------------
  4. #    此补丁修正:地图上播放动画人物行走画面滚动时,动画跟着画面移动
  5. #
  6. #                   注意: 此补丁整合了 VX_SP1 官方补丁
  7. #==============================================================================
  8. class Sprite_Base < Sprite
  9.   #--------------------------------------------------------------------------
  10.   # ● 开始播放动画
  11.   #--------------------------------------------------------------------------
  12.   def start_animation(animation, mirror = false)
  13.     dispose_animation
  14.     @animation = animation
  15.     return if @animation == nil
  16.     @animation_mirror = mirror
  17.     @animation_duration = @animation.frame_max * 4 + 1
  18.     load_animation_bitmap
  19.     @animation_sprites = []
  20.     if @animation.position != 3 or not @@animations.include?(animation)
  21.       if @use_sprite
  22.         for i in 0..15
  23.           sprite = ::Sprite.new(viewport)
  24.           sprite.visible = false
  25.           @animation_sprites.push(sprite)
  26.         end
  27.         unless @@animations.include?(animation)
  28.           @@animations.push(animation)
  29.         end
  30.       end
  31.     end
  32.     update_animation
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 释放动画
  36.   #--------------------------------------------------------------------------
  37.   alias eb_sp1_dispose_animation dispose_animation
  38.   def dispose_animation
  39.     eb_sp1_dispose_animation
  40.     @animation_bitmap1 = nil
  41.     @animation_bitmap2 = nil
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 设置动画活动块
  45.   #     frame : 画面数据 (RPG::Animation::Frame)
  46.   #--------------------------------------------------------------------------
  47.   def animation_set_sprites(frame)
  48.     cell_data = frame.cell_data
  49.     for i in 0..15
  50.       sprite = @animation_sprites[i]
  51.       next if sprite == nil
  52.       pattern = cell_data[i, 0]
  53.       if pattern == nil or pattern == -1
  54.         sprite.visible = false
  55.         next
  56.       end
  57.       if pattern < 100
  58.         sprite.bitmap = @animation_bitmap1
  59.       else
  60.         sprite.bitmap = @animation_bitmap2
  61.       end
  62.       sprite.visible = true
  63.       sprite.src_rect.set(pattern % 5 * 192,
  64.         pattern % 100 / 5 * 192, 192, 192)
  65.       position = @animation.position
  66.       if position == 3
  67.         if self.viewport != nil
  68.           sprite.x = self.viewport.rect.width / 2
  69.           sprite.y = self.viewport.rect.height / 2
  70.         else
  71.           sprite.x = 272
  72.           sprite.y = 208
  73.         end
  74.       else
  75.         sprite.x = self.x - self.ox + self.src_rect.width / 2
  76.         sprite.y = self.y - self.oy + self.src_rect.height / 2
  77.         sprite.y -= self.src_rect.height / 2 if position == 0
  78.         sprite.y += self.src_rect.height / 2 if position == 2
  79.       end
  80.       if @animation_mirror
  81.         sprite.x -= cell_data[i, 1]
  82.         sprite.y += cell_data[i, 2]
  83.         sprite.angle = (360 - cell_data[i, 4])
  84.         sprite.mirror = (cell_data[i, 5] == 0)
  85.       else
  86.         sprite.x += cell_data[i, 1]
  87.         sprite.y += cell_data[i, 2]
  88.         sprite.angle = cell_data[i, 4]
  89.         sprite.mirror = (cell_data[i, 5] == 1)
  90.       end
  91.       sprite.z = self.z + 300 + i
  92.       sprite.ox = 96
  93.       sprite.oy = 96
  94.       sprite.zoom_x = cell_data[i, 3] / 100.0
  95.       sprite.zoom_y = cell_data[i, 3] / 100.0
  96.       sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
  97.       sprite.blend_type = cell_data[i, 7]
  98.     end
  99.   end
  100.    
  101.   def x=(x)
  102.     sx = x - self.x
  103.     if sx != 0
  104.       if @animation_sprites != nil
  105.         for i in 0..15
  106.           @animation_sprites[i].x += sx
  107.         end
  108.       end
  109.     end
  110.     super
  111.   end
  112.   
  113.   def y=(y)
  114.     sy = y - self.y
  115.     if sy != 0
  116.       if @animation_sprites != nil
  117.         for i in 0..15
  118.           @animation_sprites[i].y += sy
  119.         end
  120.       end
  121.     end
  122.     super
  123.   end

  124. end
复制代码

点我下载补丁(请适用迅雷或其他下载工具下载)
或者下载以上文件解压後覆盖RMVX的System文件即可

若发现什么BUG.
请跟帖或PM或+QQ通知我..
谢谢!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
8
 楼主| 发表于 2008-2-10 19:26:47 | 只看该作者
以下引用暴动冲锋于2008-2-10 11:23:10的发言:
我发现你没有完全把莫尼卡的SP1脚本整合……
我干脆把我整合完毕的CLASS_SPRITE_BASE贴在这里():
(稍后再贴……)
[本贴由作者于 2008-2-10 11:24:03 最后编辑]

必须修改到的部分当然不用再写进去..{/gg}
应该没漏什么吧- -
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
7
 楼主| 发表于 2008-2-10 19:14:58 | 只看该作者
以下引用暴动冲锋于2008-2-10 11:10:49的发言:

以下引用诡异の猫于2008-2-10 10:48:34的发言:
Uh...Oh...
我可以把你的这个东西整合在我的这东西里面么?


可以..
只是..目前貌似只有少数人测试了..不知道还有没有BUG..
所以..嗯
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
6
 楼主| 发表于 2008-2-10 18:48:34 | 只看该作者
以下引用暴动冲锋于2008-2-10 8:48:16的发言:
补丁无效……
请看范例……
(我的脚本融合了RMVXSP1……)
http://rpg.blue/upload_program/files/anim1_83062244.rar
[本贴由作者于 2008-2-10 8:51:09 最后编辑]


同学..你的范例本来就有问题
你使用的技能是以画面为中心的全体技能.
当然会跟著画面移动..
你换成单体的测试下+补丁和不+补丁你就明白了

再次声明:我知道你那东西整合了官方补丁. 但是..
          这个补丁修正的问题和官方补丁VX_SP1修正的问题完全不同
          只是必须把2个东西整合在一起才不会有冲突
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
5
 楼主| 发表于 2008-2-10 02:21:46 | 只看该作者
- -
盼了一下午终于出狱了..
重写了帖子.
我承认我自顶.{/gg}
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-19
帖子
44
4
发表于 2008-2-9 23:07:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
3
 楼主| 发表于 2008-2-9 21:32:32 | 只看该作者
以下引用越前リョーマ于2008-2-9 13:30:43的发言:

SP1的已经修正在1。1版了。


我知道- -
我这个是包括SP1..而不只是SP1
SP1补丁没有涉及我说的问题
这个就是把SP1整合进去.不然没有效果
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2008-2-9 21:30:43 | 只看该作者
SP1的已经修正在1。1版了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-11 10:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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