Project1
标题:
充分榨取数据库动画的剩余价值 [公众版]
[打印本页]
作者:
柳柳
时间:
2007-5-26 08:45
标题:
充分榨取数据库动画的剩余价值 [公众版]
数据库动画是制作起来非常费力的一项工作——如果你自己尝试做过一整个中大型游戏的全部数据库动画,你肯定是会认同我的看法的。
那么,现在咱们来榨取一下数据库动画的剩余价值吧。
本脚本功能:
将数据库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
复制代码
作者:
柳柳
时间:
2007-5-26 08:45
标题:
充分榨取数据库动画的剩余价值 [公众版]
数据库动画是制作起来非常费力的一项工作——如果你自己尝试做过一整个中大型游戏的全部数据库动画,你肯定是会认同我的看法的。
那么,现在咱们来榨取一下数据库动画的剩余价值吧。
本脚本功能:
将数据库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
复制代码
作者:
柳柳
时间:
2007-5-26 08:48
相关截图:
作者:
devilcraft
时间:
2007-5-26 09:02
提示:
作者被禁止或删除 内容自动屏蔽
作者:
gpra8764
时间:
2007-5-26 10:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
精灵使者
时间:
2007-5-26 16:09
不错。纵版战斗改为横板战斗的时候全屏魔法需要重新调整,旋转+放缩这个思路不错。由于以后可能需要向左放缩或者向右放缩的魔法效果(也就是说,横板的全屏魔法只在敌人或者我方那边释放),希望能改进一下。
作者:
铅笔
时间:
2007-5-26 18:44
提示:
作者被禁止或删除 内容自动屏蔽
作者:
柳柳
时间:
2007-5-26 20:58
昨天晚上发完公众版的直接断网了,VIP的没发出来。刚补上了……
作者:
尤莉斯
时间:
2007-5-26 22:35
噢
作者:
铅笔
时间:
2007-5-26 23:31
提示:
作者被禁止或删除 内容自动屏蔽
作者:
精灵使者
时间:
2007-5-26 23:51
以下引用
铅笔于2007-5-26 15:31:49
的发言:
原来还要VIP,我竟然没发现
不过为什么要VIP,大家共享不好么?
这是为了防止新手看不懂……我也是为看不到动画和技能部分苦恼中……
作者:
铅笔
时间:
2007-5-27 03:54
提示:
作者被禁止或删除 内容自动屏蔽
作者:
西门吹雪
时间:
2007-5-27 06:52
VIP2
幸好这次没有很多啊~
作者:
TERENCE
时间:
2008-1-19 17:23
{/qiang}66大人太了不起了!!!
拜一个Orz
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1