|
发表于 2009-1-12 17:12:02
|
显示全部楼层
一切OK了
真是简单的工作啊。。。。。是我自己想复杂了。。。OTL
VX脚本编辑器最前面插入- module RPG
- class Animation
- class Timing
- def initialize
- @frame = 0
- @se = RPG::AudioFile.new("", 80)
- @flash_scope = 0
- @flash_color = Color.new(255,255,255,255)
- @flash_duration = 5
- @condition = 0
- end
- attr_accessor :frame
- attr_accessor :se
- attr_accessor :flash_scope
- attr_accessor :flash_color
- attr_accessor :flash_duration
- attr_accessor :condition
- end
- end
- end
- $data_animations = load_data("Data/Animations.rvdata")
- #p $data_animations[1].frames[2].cell_data
- #exit
- size = $data_animations.size - 1
- $name = []
- $animation_name = []
- $animation_hue = []
- $position = []
- $frame_max = []
- $frames = []
- $timings = []
- temp = []
- a = []
- b = []
- max_arr = []
- for i in 1..size
- unless $data_animations[i].animation1_name == ""
- $name.push($data_animations[i].name)
- $animation_name.push($data_animations[i].animation1_name)
- $animation_hue.push($data_animations[i].animation1_hue)
- $position.push($data_animations[i].position)
- $frame_max.push($data_animations[i].frame_max)
- $frames.push($data_animations[i].frames.clone)
- size_t = $data_animations[i].timings.size
- for j in 0...size_t
- n = "Audio/SE/" + $data_animations[i].timings[j].se.name
- v = $data_animations[i].timings[j].se.volume
- p = $data_animations[i].timings[j].se.pitch
- se = RPG::AudioFile.new(n,v,p)
- $data_animations[i].timings[j].se = se.clone
- $data_animations[i].timings[j].condition = 0
- end
- $timings.push($data_animations[i].timings.clone)
- end
- end
- #p $name
- #p $animation_name
- #p $animation_hue
- #p $position
- #p $frame_max
- #p $frames_cell_max
- #p $frames_cell_data
- #p $timings_frame
- #p $timings_se
- #p $timings_flash_scope
- #p $timings_flash_color
- #p $timings_flash_duration
- p $timings
- p $frames
- file = File.open("VX_to_XP", "wb")
- Marshal.dump($name,file)
- Marshal.dump($animation_name,file)
- Marshal.dump($animation_hue,file)
- Marshal.dump($position,file)
- Marshal.dump($frame_max,file)
- Marshal.dump($frames,file)
- Marshal.dump($timings,file)
- file.close
- exit
复制代码
运行之。。会发现工程目录下生成 VX_to_XP 这个文件 把他复制到你要倒VX动画的XP工程中
在XP脚本编辑器中最前方插入下面这一段
- file = File.open("VX_to_XP", "rb")
- $name = Marshal.load(file)
- $animation_name = Marshal.load(file)
- $animation_hue = Marshal.load(file)
- $position = Marshal.load(file)
- $frame_max = Marshal.load(file)
- $frames = Marshal.load(file)
- $timings = Marshal.load(file)
- file.close
- $data_animations = load_data("Data/Animations.rxdata")
- for i in 0...$name.size
- rpg_animation = RPG::Animation.new
- rpg_animation.id = $data_animations.size + i
- rpg_animation.name = $name[i]
- rpg_animation.animation_name = $animation_name[i]
- rpg_animation.animation_hue = $animation_hue[i]
- rpg_animation.position = $position[i]
- rpg_animation.frame_max = $frame_max[i]
- rpg_animation.frames = $frames[i].clone
- rpg_animation.timings = $timings[i].clone
- $data_animations.push(rpg_animation.clone)
- end
- save_data($data_animations,"Data/Animations.rxdata")
- exit
复制代码
这样就倒换完成。。。原来的XP动画没有给你覆盖掉
另外。。我说明一下。。。。
你应该发现了 VX 可以 两张素材共同组一个动画。。而XP只能一幅图片完成一个动画。。。。
那么这就有问题了。。。两张图片的功能XP没有。。。我只能削掉第二张图片。。。
但是可以。。。VX两张图片整成的动画。。我给你分拆成两个。。。。OTL。。。太麻烦了。。。上面的没有这个工程。。。
收拾东西,准备坐火车回家 |
|