Movement on Key-down Event hinzugefüg!
This commit is contained in:
61
SnakeTest.py
61
SnakeTest.py
@@ -1,3 +1,4 @@
|
||||
from ast import If
|
||||
import sqlite3
|
||||
import time
|
||||
import threading
|
||||
@@ -290,6 +291,7 @@ from direct.gui.OnscreenText import OnscreenText #Ermöglicht die direkte Einble
|
||||
from direct.gui.DirectGui import * #Ermöglicht das Einblenden von Menüs und deren Manipulation
|
||||
from panda3d.core import TextNode #Texte
|
||||
from direct.task import Task
|
||||
from panda3d.core import Vec4, Vec3
|
||||
|
||||
from panda3d.core import loadPrcFile #Ermöglicht das Laden eigener Konfigurationsdatein zur Panda3D API
|
||||
loadPrcFile("conf/conf.prc") #Pfadangabe zum .prc File
|
||||
@@ -324,6 +326,7 @@ class User_login:
|
||||
class MyApp(ShowBase):
|
||||
|
||||
us = User.User
|
||||
key_pressed = False
|
||||
|
||||
def button_select_click(self, *username:str()):
|
||||
__username = username
|
||||
@@ -349,6 +352,14 @@ class MyApp(ShowBase):
|
||||
print("Spielerauswahl-Button wurde gedrückt!")
|
||||
|
||||
us = User.User()
|
||||
|
||||
self.pandaActor = Actor("models/panda-model",
|
||||
{"walk": "models/panda-walk4"})
|
||||
self.pandaActor.setScale(0.005, 0.005, 0.005)
|
||||
self.pandaActor.reparentTo(self.render)
|
||||
|
||||
self.myAnimControl = self.pandaActor.getAnimControl('walk') #get the AnimControl
|
||||
|
||||
#Erstellt ein DialogFenster
|
||||
self.gameOverScreen = DirectDialog(frameSize = (-0.7, 0.7, -0.7, 0.7),
|
||||
fadeScreen = 0.4,
|
||||
@@ -381,13 +392,25 @@ class MyApp(ShowBase):
|
||||
|
||||
#self.taskMgr.doMethodLater(0.8,self.exampleTask, "exampleTask") #Hängt einen zustäzlichen Task in den Taskmanager ein
|
||||
|
||||
self.gameOverScreen.show()
|
||||
self.gameOverScreen.hide()
|
||||
|
||||
self.scene1_background = self.loader.loadModel("data/panda_example/Environment/environment")
|
||||
self.scene1_background.reparentTo(self.render)
|
||||
# Set Camera-Position (initial)
|
||||
self.scene1_background.setPos(0, 32, 0) # (X, Z, Y)
|
||||
self.scene1_background.setP(90)
|
||||
|
||||
|
||||
|
||||
self.accept('r', self.test)
|
||||
self.accept('r-up', self.test2)
|
||||
|
||||
|
||||
self.taskMgr.add(self.check_keyboard_input, "check_keyboard_input")
|
||||
|
||||
if(us.checkuserdb() == False):
|
||||
self.accept('enter', button_enter_pressed)
|
||||
|
||||
|
||||
#self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")
|
||||
|
||||
@@ -397,14 +420,14 @@ class MyApp(ShowBase):
|
||||
self.camera.setPos(20 * sin(angleRadians), -20 * cos(angleRadians), 3)
|
||||
self.camera.setHpr(angleDegrees, 20, 0)
|
||||
return Task.cont
|
||||
"""
|
||||
|
||||
"""
|
||||
# Create scene 1
|
||||
|
||||
|
||||
self.scene1 = self.render.attachNewNode("Scene 1")
|
||||
self.scene1_text = OnscreenText(text="Scene 1", pos=(0, 0), scale=0.1, align=TextNode.ACenter)
|
||||
if(us.checkuserdb() == False):
|
||||
self.accept('enter', button_enter_pressed)
|
||||
|
||||
self.scene1_text.show()
|
||||
|
||||
|
||||
@@ -420,9 +443,9 @@ class MyApp(ShowBase):
|
||||
self.current_scene = 1
|
||||
"""
|
||||
# Set key bindings
|
||||
self.accept('space', self.toggle_scene)
|
||||
self.accept('escape', self.quit)
|
||||
|
||||
#self.accept('space', self.toggle_scene)
|
||||
#self.accept('escape', self.quit)
|
||||
|
||||
def toggle_scene(self):
|
||||
if self.current_scene == 1:
|
||||
self.scene1_text.hide()
|
||||
@@ -438,8 +461,15 @@ class MyApp(ShowBase):
|
||||
#self.us.__del__(self.us)
|
||||
app.finalizeExit()
|
||||
|
||||
#Dieser Task wird bei Berechnungs jeden Frames ausgeführt
|
||||
def test(self):
|
||||
print("Taste gedrückt")
|
||||
self.key_pressed = True
|
||||
|
||||
def test2(self):
|
||||
print("Taste losgelassen")
|
||||
self.key_pressed = False
|
||||
|
||||
#Dieser Task wird bei Berechnungs jeden Frames ausgeführt
|
||||
x=0
|
||||
def exampleTask(self, task):
|
||||
self.btn['text'] = "Woscht" + str(self.x)
|
||||
@@ -448,8 +478,21 @@ class MyApp(ShowBase):
|
||||
return task.done
|
||||
self.x +=1
|
||||
return task.again
|
||||
|
||||
def check_keyboard_input(self, task):
|
||||
dt = globalClock.getDt()
|
||||
print(self.key_pressed)
|
||||
if(self.key_pressed == True):
|
||||
print("Taste gedrückt gehalten!")
|
||||
self.pandaActor.setPos(self.pandaActor.getPos() + Vec3(0, 5.0*dt, 0))
|
||||
if(self.myAnimControl.isPlaying() != True):
|
||||
self.pandaActor.play("walk")
|
||||
|
||||
else:
|
||||
pass
|
||||
return task.cont
|
||||
|
||||
app = MyApp()
|
||||
app.run()
|
||||
|
||||
#TODO Änderungen
|
||||
#TODO: Änderungen
|
||||
Reference in New Issue
Block a user