Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Probestudium / 2013 / WS I: 3D-Programmierung / Skripte (alte Fassungen) / mouse2object_fixed-plane.py


Inhaltsbereich

mouse2object_fixed-plane.py

Mausbewegung erzeugt Objekte in fixer Ebene, unabhängig von der Kamera-Position (wichtig für Spiele wie "Schiffe versenken, Schach, etc.")

maus2object_in-ebene.py — text/python-source, 1 KB

Dateiinhalt

# -*- coding: utf-8 -*-
# visual - Test Mausinteraktion 5
# Der Benutzer des Beispielprogramms kann Bälle in einer Ebene
# parallel zur xy-Ebene platzieren und zwar unabhängig vom Benutzerstandort
# Die Methode
#
# scene.mouse.project(normal=(x,y,z), point=(x,y,z))
#
# legt also eine Ebene fest, welche durch den senkrecht stehenden Normalenvektor und
# einem auf ihr befindlichen Punkt charakterisiert wird!


from visual import *
from random import random


scene.range = 4
scene.stereodepth=2
box() # display a box for context

while True:
    rate(20)
    if scene.mouse.clicked:
        m = scene.mouse.getclick()
        loc = m.project(normal=(0,0,1))
        # loc is None if no intersection with plane
        if loc:
            sphere(pos=loc, radius=0.2, color=color.hsv_to_rgb((random(),1,1)))

Funktionsleiste