folgendes quält mich: ich möchte ne kleine welt basteln, in der ich, physisch korrekt, mit nem fahrzeug rumdüsen kann. so weit, so gut..
es gibt da ein paar verschiedene ansätze:
visualisation und eventhandling mittels pygame, ode als physik-engine, was auch ganz gut klappt und sogar recht übersichtlich ist.. solange kein opengl vorkommt (is mir zZ. ein zu schwerer brocken, und überhaupt..).
also die visu mit nem andren tool, wie zB. soya. ist mir recht sympathisch (kein verrücktes gl..(geschalte)
und nun bekomme ichs einfach nicht zusammen, irgendwas is faul.. und mir brennen langsam die augen
hier mein versuch mit nem listing aus dem soya-tut:
Code: Alles auswählen
import os, os.path, sys
import traceback
try:
import soya
import pygame
except ImportError:
traceback.print_exc()
res = (800, 600)
def main():
pygame.display.init()
screen = pygame.display.set_mode(res, pygame.OPENGL | pygame.DOUBLEBUF)
pygame.display.set_caption("soyax")
run = True
events = pygame.event.get()
dir_root = os.path.dirname(__file__)
soya.path.append(os.path.join(dir_root, "data", "soya", "data"))
soya.init(create_surface = 0)
scene = soya.World()
sword_model = soya.Model.get("sword")
sword = soya.Body(scene, sword_model)
sword.set_xyz(1.0, 0.0, 0.0)
sword.rotate_y(90.0)
light = soya.Light(scene)
light.set_xyz = (0.5, 0.0, 2.0)
camera = soya.Camera(scene)
camera.z = 2.0
soya.set_root_widget(camera)
soya.MainLoop(scene).main_loop()
# irgendwo hier vermutlich ist das problem..
while run:
for e in events:
if e.type == QUIT:
run = False
pygame.display.flip()
soya.MAIN_LOOP.stop()
pygame.quit()
if __name__ == "__main__": main()
und ich finde partou keinen hinweis, wie sich soya ordentl "killen" läßt..
Code: Alles auswählen
if __name__ == "__brain__": brain.zuHilf("!")