omg i have a large problem
i want to import player class from player.py into main.py but when i do player.player() nothing happens? wut do i do??
main.py
from pandac.PandaModules import * # Import the Panda Modules
from direct.gui.OnscreenText import OnscreenText
from direct.actor.Actor import Actor
from direct.actor import Actor
from direct.task.Task import Task
from direct.showbase.DirectObject import DirectObject
import random, sys, os, math
loadPrcFileData("", "win-title Test Game")
loadPrcFile("cfg/config.prc")
import direct.directbase.DirectStart
from source.missiondata import *
from source.Player import *
import source.Player
class Main(DirectObject):
def __init__(self):
Player.Player()
w = Main()
run() #Run script
player
# Player Script
class Player(DirectObject):
def __init__(self):
self.player = render.attachNewNode("camera_dummy_node")
#Position the camera dummy node.
self.player.setPos(-5, 50, 8)
# Set angles
self.player.setHpr(0, 0, 0)
# Attach the camera to the dummy node.
camera.reparentTo(self.player)
# Position the camera
camera.setPosHpr(Vec3(0,10,0),Vec3(0,10,0))
self.prevtime = 0
self.controls()
#end
def controls (self):
self.sens = 100
self.crouch = False
self.moveforward = "w"
self.moveforwardup = "w-up"
#Key Library. all controls HAVE to go here
self.keys = {"turnLeft" : 0, "turnRight": 0,"accel": 0, "fire": 0, "deaccel":0, "jump" : 0, "crouch" : 0}
self.accept("escape", sys.exit) #Escape quits
#Other keys events set the appropriate value in our key dictionary
self.accept("a", self.setKey, ["turnLeft", 1])
self.accept("a-up", self.setKey, ["turnLeft", 0])
self.accept("d", self.setKey, ["turnRight", 1])
self.accept("d-up", self.setKey, ["turnRight", 0])
self.accept(self.moveforward, self.setKey, ["accel", 1])
self.accept(self.moveforwardup, self.setKey, ["accel", 0])
self.accept("s", self.setKey, ["deaccel", 1])
self.accept("s-up", self.setKey, ["deaccel", 0])
self.accept("space", self.setKey, ["jump", 1])
self.accept("space-up", self.setKey, ["jump", 0])
self.accept("control", self.setKey, ["crouch", 1])
self.accept("control-up", self.setKey, ["crouch", 0])
self.gameTask = taskMgr.add(self.gameLoop, "gameLoop")
self.gameTask.last = 0
def setKey(self, key, val):
self.keys[key] = val
def gameLoop(self, task):
self.elapsed = task.time - self.prevtime
self.MouseTask()
if self.keys["turnLeft"]:
self.turn(-1)
if self.keys["turnRight"]:
self.turn(1)
if self.keys["accel"]:
self.walk()
if self.keys["deaccel"]:
self.back()
if self.keys["jump"]:
self.jump()
self.prevtime = task.time
return Task.cont
def turn(self,dir):
elapsed = self.elapsed
strafe = self.c_node.getNetTransform().getMat().getRow3(0)
strafe.setZ(0)
strafe.normalize()
self.c_node.setPos(self.c_node.getPos() + strafe*(elapsed*45*dir))
def walk(self):
elapsed = self.elapsed
backward = self.c_node.getNetTransform().getMat().getRow3(1)
backward.setZ(0)
backward.normalize()
self.c_node.setPos(self.c_node.getPos() + backward*(elapsed*46))
def jump(self):
backward = self.c_node.getNetTransform().getMat().getRow3(1)
backward.normalize()
self.c_node.setPos(self.c_node.getPos() + backward)
def back(self):
elapsed = self.elapsed
backward = self.c_node.getNetTransform().getMat().getRow3(1)
backward.setZ(0)
backward.normalize()
self.c_node.setPos(self.c_node.getPos() + backward*(elapsed*-45))
def MouseTask(self):
try:
x = base.win.getPointer(0).getX()
y = base.win.getPointer(0).getY()
if base.win.movePointer(0, 100, 100):
self.heading = self.heading - (x - 100)*0.2
self.pitch = self.pitch - (y - 100)*0.2
if (self.pitch < -self.sens): self.pitch = -self.sens
if (self.pitch > self.sens): self.pitch = self.sens
self.c_node.setHpr(self.heading,self.pitch,0)
except: pass