from fusion.swf.swfdata import SwfData from fusion.swf.records import Rect, RGBA from fusion.swf import tags from fusion.avm2.abc_ import AbcFile from fusion.avm2.node import export_function, INode, Slot from fusion.avm2.loadable import Chain, This, Field, Stack, Local from fusion.avm2.playerglobal import flash swf = SwfData() abc = AbcFile() gen = abc.create_generator() @export_function(["Object", flash.text.TextField], rettype="void") def dump(gen, params, tracer): gen.load(0) gen.emit('convert_i') index_reg = gen.store_var("idx") params_reg = params.get_index(gen) gen.set_label("loop") gen.emit('hasnext2', params_reg, index_reg) gen.branch_if_false("done") gen.load(params) gen.load(Local("idx")) gen.emit('nextname') gen.load("=")
from fusion.swf.swfdata import SwfData from fusion.swf.tags import DefineSprite swf = SwfData(fps=1) shape = swf.new_shape() shape.graphics.lineStyle(10) shape.graphics.moveTo(0, 0) shape.graphics.lineTo(10, 10) obj = swf.place(shape) swf.next_frame() for i in xrange(1, 11): obj.moveTo(10 * i, 10 * i) swf.next_frame() obj.remove() f = open('shape_example2.swf', 'wb') f.write(swf.serialize()) f.close()