Visual Python


Primer vlečenja z miško

Z miško vlečemo tako, da stalno beremo vrednost "scene.mouse.pos". Primer prikazuje vlečenje krogle s stisnjenim  levim mišjim gumbom. Pozor na stavke, ki naredijo med vlečenjem kurzor miške neviden.


scene.range = 10 # fiksna velikost brez avtomatske povecave
ball = sphere(pos=(-5,0,0), radius=1., color=color.cyan)
cube = box(pos=(+5,0,0), size=(2,2,2), color=color.red)
pick = None # noben objekt na sceni se ni izbran
while 1:
    if scene.mouse.events:
        m1 = scene.mouse.getevent() # dobimo dogodek drag ali drop
        if m1.drag and m1.pick == ball:
            drag_pos = m1.pickpos
            pick = m1.pick
            scene.cursor.visible = 0 # kurzor postane neviden
        elif m1.drop:
            pick = None # konec vlecenja
            scene.cursor.visible = 1 # kurzor spet viden
    if pick:
        new_pos = scene.mouse.project(normal=(0,0,1))
        if new_pos != drag_pos:
            pick.pos += new_pos - drag_pos
            drag_pos = new_pos