Example #1
0
class myscene(myspyderframe):
    scene = bee.parameter("bee")
    canvas = bee.parameter("bee")
    mousearea = bee.parameter("bee")

    a = Spyder.AxisSystem()
    a *= 0.25
    a.origin += (-8, 42, 0)
    env = Spyder.Model3D("models/environment", "egg", a)

    a = Spyder.AxisSystem()
    a *= 0.005
    mypanda = Spyder.Actor3D("models/panda-model", "egg", [("walk", "models/panda-walk4", "egg")], a,
                             entityname="mypanda")

    a = Spyder.AxisSystem()
    a *= 0.005
    pandaclass = Spyder.ActorClass3D("models/panda-model", "egg", [("walk", "models/panda-walk4", "egg")], a,
                                     actorclassname="pandaclass")

    box = Spyder.Box2D(50, 470, 96, 96)
    icon = Spyder.Icon("pandaicon.png", "pandaicon", box, transparency=True)

    m1 = Spyder.NewMaterial("red", (255, 0, 0))
    m2 = Spyder.NewMaterial("green", (0, 255, 0))
    m3 = Spyder.NewMaterial("blue", (0, 0, 255))
    m_ax = Spyder.AxisSystem(origin=(5, -3, 0))
    m_ax2 = Spyder.AxisSystem(origin=(-5, -3, 3))
    m_ax2.rotateZ(30)
    m_ax2.rotateX(-60)

    del a, box
Example #2
0
class tetris_select_block(bee.frame):
    blocks = parameter("object")
    blocks_ = get_parameter("blocks")
    w_blocks = dragonfly.gen.gentuple2(blocks_)
    sel = dragonfly.random.choice()
    connect(w_blocks, sel)

    do_select = dragonfly.gen.transistor()
    connect(sel, do_select)

    chosen = dragonfly.std.variable(("object", "bgrid"))(emptygrid)
    chosencontrol = dragonfly.grid.bgridcontrol()
    connect(chosen, chosencontrol.grid)
    connect(do_select, chosen)
    do_select2 = dragonfly.gen.transistor()
    connect(chosen, do_select2)

    uptofour = dragonfly.std.variable(("int", "int"))((0, 4))
    randint = dragonfly.random.randint()
    connect(uptofour, randint)
    rotate = dragonfly.std.transistor("int")()
    connect(randint, rotate)
    connect(rotate, chosencontrol.rotate)

    trigger = dragonfly.std.pushconnector("trigger")()
    connect(trigger, do_select)
    connect(trigger, rotate)
    connect(trigger, do_select2)

    select = antenna(trigger.inp)
    selected = output(do_select2.outp)
Example #3
0
class tetris_init_main(bee.worker):
    gridx = variable("int")
    parameter(gridx)
    gridy = variable("int")
    parameter(gridy)

    start = antenna("push", "trigger")
    outp = output("push", ("object", "bgrid"))
    grid = variable(("object", "bgrid"))
    t_outp = transistor(("object", "bgrid"))
    connect(grid, t_outp)
    connect(t_outp, outp)
    trig = triggerfunc(t_outp)

    @modifier
    def m_start(self):
        self.grid = bgrid(0, self.gridx - 1, 0, self.gridy - 1)
        self.trig()

    trigger(start, m_start)
Example #4
0
class tetris_select_block(bee.frame):
    blocks = parameter("object")
    blocks_ = get_parameter("blocks")
    w_blocks = dragonfly.gen.gentuple2(blocks_)
    sel = dragonfly.random.choice()
    connect(w_blocks, sel)

    do_select = dragonfly.gen.transistor()
    connect(sel, do_select)

    select = antenna(do_select.trig)
    selected = output(do_select.outp)
Example #5
0
class jumpworkerhive(bee.frame):
    height = bee.parameter("float")
    duration = bee.parameter("float")

    i = dragonfly.time.interval_time(time=bee.get_parameter("duration"))
    startconnector = dragonfly.std.pushconnector("trigger")()
    connect(startconnector, i.start)

    start = bee.antenna(startconnector.inp)

    jump = jumpworker2(height=bee.get_parameter("height"))
    connect(i, jump)
    t_jump = dragonfly.std.transistor("float")()
    connect(jump, t_jump)
    dojump = dragonfly.scene.bound.setZ()
    connect(t_jump, dojump)

    tick = dragonfly.io.ticksensor(False)
    connect(tick, t_jump)
    connect(startconnector, tick.start)
    connect(i.reach_end, tick.stop)
Example #6
0
class pandalogicframe(bee.frame):
    name = bee.parameter("str")
    name_ = bee.get_parameter("name")

    do_trig_spawn = dragonfly.std.pushconnector("trigger")()
    trig_spawn = bee.output(do_trig_spawn.outp)

    v_panda = dragonfly.std.variable("id")(name_)
    t_set_panda = dragonfly.std.transistor("id")()
    connect(v_panda, t_set_panda)
    set_panda = bee.output(t_set_panda.outp)

    pandaicon_click = dragonfly.io.mouseareasensor(name_)
    connect(pandaicon_click, t_set_panda)
    connect(pandaicon_click, do_trig_spawn)
Example #7
0
        class launch(bee.frame):
            __doc__ = cls.__doc__

            subprocess = bee.parameter("bool")

            bind_worker = launch_helper(
                subprocess=bee.get_parameter("subprocess"))
            hive_binder = worker()
            id_factory = id_suffix_worker()

            # To push identifier base in id factory
            id_transistor = std.transistor(("str", "identifier"))()
            bee.connect(id_transistor.outp, id_factory.identifier_base)

            # Create some hive IO pins
            trig = bee.antenna(id_transistor.trig)
            bee.connect(id_factory.trig_out, bind_worker.trig)

            # Secondary calls
            process_class = bee.antenna(id_transistor.inp)
            bee.connect(process_class, bind_worker.process_class)

            # Secondary calls
            process_identifier = bee.output(id_factory.new_identifier)
            bee.connect(process_identifier, bind_worker.process_identifier)

            # Weaver of these two
            w_bind_ids = std.weaver(("id", "id"))()

            process_id_duck = convert.pull.duck("str", "id")()

            bee.connect(id_factory.new_identifier, process_id_duck)
            bee.connect(process_id_duck, w_bind_ids.inp1)

            process_class_duck = convert.pull.duck("str", "id")()

            bee.connect(process_class, process_class_duck)
            bee.connect(process_class_duck, w_bind_ids.inp2)

            # Connect weaver to binder
            t_bind_ids = std.transistor(("id", "id"))()
            bee.connect(w_bind_ids, t_bind_ids)
            bee.connect(t_bind_ids, hive_binder.bind)

            # This only triggers if we're a subprocess
            bee.connect(bind_worker.trig_out, t_bind_ids.trig)

            guiparams = {
                "process_class": {
                    "name": "Process class",
                    "fold": True
                },
                "trig": {
                    "name": "Trigger"
                },
                "process_identifier": {
                    "name": "Process ID"
                },
                "subprocess": {
                    "name": "Subprocess"
                },
                "memberorder": ["trig", "process_class", "process_identifier"],
            }