赞 | 3 |
VIP | 333 |
好人卡 | 2 |
积分 | 1 |
经验 | 1450446 |
最后登录 | 2019-5-29 |
在线时间 | 615 小时 |
Lv1.梦旅人 66RPG站长
- 梦石
- 0
- 星屑
- 54
- 在线时间
- 615 小时
- 注册时间
- 2005-10-10
- 帖子
- 5734
  
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
数据库动画是制作起来非常费力的一项工作——如果你自己尝试做过一整个中大型游戏的全部数据库动画,你肯定是会认同我的看法的。
那么,现在咱们来榨取一下数据库动画的剩余价值吧。
本脚本功能:
将数据库1号动画,变成垂直镜像、水平镜像、垂直+水平镜像、旋转90度等版本。
使用方法:
1、新建一个工程
2、把工程的数据库-动画清空。然后把动画总数设置在20左右。
3、把你喜欢的动画放在1号位置
4、插入脚本
5、保存工程
6、关闭工程
7、运行game.exe
8、打开工程
这样你就有了你喜欢动画的多个角度的版本
- $data_animations = load_data("Data/Animations.rxdata")
- animation = $data_animations[1]
- def remirror(ind)
- return (ind - 1).abs
- end
- def _mirror(res, dst)
- d = $data_animations[res]
- a = RPG::Animation.new
- a.name = d.name + " -"
- a.animation_name = d.animation_name
- a.frame_max = d.frame_max
- a.timings = d.timings
-
- for j in 0...a.frame_max
- a.frames[j] = RPG::Animation::Frame.new
- a.frames[j].cell_max = d.frames[j].cell_max
- a.frames[j].cell_data = Table.new(a.frames[j].cell_max, 8)
- d_c = d.frames[j].cell_data
- next if d_c[0,0] == nil
- for i in 0...a.frames[j].cell_max
- for k in 0...8
- a.frames[j].cell_data[i,k] = d_c[i,k]
- end
- end
- end
- $data_animations[dst] = a
- end
- def ag(a)
- return (a + 720) % 360
- end
- for i in 3..9
- $data_animations[i] = _mirror(1, i)
- end
- #------------------------------------------------------
- # 左右翻转
- #------------------------------------------------------
- for frame in $data_animations[3].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- frame.cell_data[i, 1] = -frame.cell_data[i, 1]
- frame.cell_data[i, 5] = (frame.cell_data[i, 5] - 1).abs
- frame.cell_data[i, 4] = ag(360 - frame.cell_data[i, 4])
- end
- end
- end
- $data_animations[3].name += "-水平翻转"
- #------------------------------------------------------
- # 转向2:上下翻转
- #------------------------------------------------------
- for frame in $data_animations[4].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- frame.cell_data[i, 2] = -frame.cell_data[i, 2]
- frame.cell_data[i, 4] = ag(180 - frame.cell_data[i, 4])
- frame.cell_data[i, 5] = (frame.cell_data[i, 5] - 1).abs
- end
- end
- end
- $data_animations[4].name += "-垂直翻转"
- #------------------------------------------------------
- # 转向3:左右 + 垂直
- #------------------------------------------------------
- for frame in $data_animations[5].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- frame.cell_data[i, 1] = -frame.cell_data[i, 1]
- frame.cell_data[i, 5] = (frame.cell_data[i, 5] - 1).abs
- frame.cell_data[i, 4] = ag(360 - frame.cell_data[i, 4])
- frame.cell_data[i, 2] = -frame.cell_data[i, 2]
- frame.cell_data[i, 4] = ag(180 - frame.cell_data[i, 4])
- frame.cell_data[i, 5] = (frame.cell_data[i, 5] - 1).abs
- end
- end
- end
- $data_animations[5].name += "-水平垂直"
- #------------------------------------------------------
- # 转向4:其他……说不清是什么
- #------------------------------------------------------
- for frame in $data_animations[6].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- temp = frame.cell_data[i, 1]
- frame.cell_data[i, 1] = frame.cell_data[i, 2]
- frame.cell_data[i, 2] = temp
- frame.cell_data[i, 4] = ag(frame.cell_data[i, 4] - 90)
- end
- end
- end
- $data_animations[6].name += "-逆90度"
- for frame in $data_animations[7].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- temp = frame.cell_data[i, 1]
- frame.cell_data[i, 1] = frame.cell_data[i, 2]
- frame.cell_data[i, 2] = temp
- frame.cell_data[i, 4] = ag(frame.cell_data[i, 4] - 90)
- frame.cell_data[i, 1] = -frame.cell_data[i, 1]
- frame.cell_data[i, 5] = (frame.cell_data[i, 5] - 1).abs
- frame.cell_data[i, 4] = ag(360 - frame.cell_data[i, 4])
- end
- end
- end
- $data_animations[7].name += "-逆90度镜像"
- for frame in $data_animations[8].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- temp = frame.cell_data[i, 1]
- frame.cell_data[i, 1] = frame.cell_data[i, 2]
- frame.cell_data[i, 2] = temp
- frame.cell_data[i, 4] = ag(frame.cell_data[i, 4] + 90)
- end
- end
- end
- $data_animations[8].name += "-顺90度"
- for frame in $data_animations[9].frames
- for i in 0..frame.cell_max
- if frame.cell_data[i, 1] != nil
- temp = frame.cell_data[i, 1]
- frame.cell_data[i, 1] = frame.cell_data[i, 2]
- frame.cell_data[i, 2] = temp
- frame.cell_data[i, 4] = ag(frame.cell_data[i, 4] + 90)
- frame.cell_data[i, 2] = -frame.cell_data[i, 2]
- frame.cell_data[i, 4] = ag(180 - frame.cell_data[i, 4])
- frame.cell_data[i, 5] = (frame.cell_data[i, 5] - 1).abs
- end
- end
- end
- $data_animations[9].name += "-顺90度镜像"
- save_data($data_animations, "Data/Animations.rxdata")
- exit
复制代码 |
|