diff --git a/Game.py b/Game.py index 0e1d0fe..35330af 100644 --- a/Game.py +++ b/Game.py @@ -29,6 +29,12 @@ class game(ShowBase): __actor1 = 0 __p3d_conf = loadPrcFile("conf/conf.prc") #Pfadangabe zum .prc File + __keymap = {"up":False, + "down":False, + "left":False, + "right":False + } + def __init__(self) -> None: ShowBase.__init__(self) @@ -46,21 +52,49 @@ class game(ShowBase): self.__actor1.getPos() self.__actor1.reparentTo(self.render) - self.taskMgr.add(self.task1, "task1") + self.accept('arrow_up', self.update_keystate, ["up", True]) + self.accept('arrow_up-up', self.update_keystate, ["up", False]) + self.accept('arrow_down', self.update_keystate, ["down", True]) + self.accept('arrow_down-up', self.update_keystate, ["down", False]) + self.accept('arrow_left', self.update_keystate, ["left", True]) + self.accept('arrow_left-up', self.update_keystate, ["left", False]) + self.accept('arrow_right', self.update_keystate, ["right", True]) + self.accept('arrow_right-up', self.update_keystate, ["right", False]) + self.taskMgr.add(self.task1, "task1") + self.taskMgr.add(self.keyboard_event, "keyboard_event") + + #Zusatzfunktionen innerhalb instanzierter ShowBase-Klasse + def update_keystate(self, controlName, controlState): + self.__keymap[controlName] = controlState + + #Taskfunctions and definitions def task1(self, task): _x = -2.8 + (task.time*0.3) - print("Task läuft seit: " + str(_x)) - print(str(self.__actor1.getPos())) - self.__actor1.setPos(1*_x,1*_x,0) + #print("Task läuft seit: " + str(_x)) + #print(str(self.__actor1.getPos())) + #self.__actor1.setPos(1*_x,1*_x,0) if (_x >= 2.8000): print("Finished") return Task.again - - return Task.cont + def keyboard_event(self, task): + print(self.__keymap) + + if (self.__keymap['up']): + self.__actor1.setPos(self.__actor1.getPos() + Vec3(0,0.2,0)) + print("Nach oben!") + if (self.__keymap['down']): + self.__actor1.setPos(self.__actor1.getPos() - Vec3(0,0.2,0)) + print("Nach unten!") + if (self.__keymap['left']): + self.__actor1.setPos(self.__actor1.getPos() - Vec3(0.2,0,0)) + print("Nach links!") + if (self.__keymap['right']): + self.__actor1.setPos(self.__actor1.getPos() + Vec3(0.2,0,0)) + print("Nach rechts!") - \ No newline at end of file + return Task.cont \ No newline at end of file