コード例 #1
0
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("=")
コード例 #2
0
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()