What I want this code to do is that when you press one of the buttons(inventoryknapp01-04) it leads to a new function. It is going to be used in the inventory and work like a simplified version of the oblivion inventory, here is the sketch: bildr.no/view/575511’>http://bildr.no/view/575511
Talked with you in the chat and you suggested I post it here so you could take a look at it and see if you could translate it, if you had time
from direct.gui.DirectGui import *
import direct.directbase.DirectStart
from pandac.PandaModules import *
class Inventory():
def __init__(self):
# Screen size:
dr = base.win.makeDisplayRegion()
dr.setSort(20)
myCamera2d = NodePath(Camera('myCam2d'))
lens = OrthographicLens()
lens.setFilmSize(base.win.getXSize(), base.win.getYSize())
lens.setNearFar(-1000, 1000)
myCamera2d.node().setLens(lens)
myRender2d = NodePath('myRender2d')
myRender2d.setDepthTest(False)
myRender2d.setDepthWrite(False)
myCamera2d.reparentTo(myRender2d)
dr.setCamera(myCamera2d)
self.i2d = myRender2d
X = base.win.getXSize()
Y = base.win.getYSize()
self.X0 = -X/2
self.Y0 = -Y/2
self.X100 = X/2
self.Y100 = Y/2
print self.X0, self.Y0, self.X100, self.Y100
self.toggled = False
def c(self, size, XorY='X', margin=0):
X = base.win.getXSize()
Y = base.win.getYSize()
if XorY == 'X':
axis = X
elif XorY == 'Y':
axis = -Y
margin = -margin # Fix negative integer issue
else:
axis = X
if str(size)[-2:] == 'px':
final = int(-(axis/2)-int(size[:-2]))
if str(size)[-1:] == '%':
size = int(size[:-1])
final = int(-(axis/2)+(size/100.0*axis))
return final+margin
def toggle(self):
def testf(self):
print "entotre"
if self.toggled == False:
# Inventory frame:
self.inventory = DirectFrame(pos=(self.c('0px', 'X', margin=25), 1, self.c('0px', 'Y', margin=25)), frameSize=(800,-0,0,-600), frameColor=(1,1,1,0.8))
self.inventory.reparentTo(self.i2d)
self.inventory.setBin("fixed", 0)
self.inventoryknapp01 = DirectButton(pos=(self.c('0px', 'X', margin=0), 1, self.c('0px', 'Y', margin=0)), frameSize=(800,640,-940,-975), frameColor=(0,0,1,1))
self.inventoryknapp01.reparentTo(self.inventory)
self.inventoryknapp01.setBin("fixed", 1)
self.inventoryknapp02 = DirectButton(pos=(self.c('0px', 'x', margin=0), 1, self.c('0px', 'Y', margin=0)), frameSize=(960,800,-940,-975), frameColor=(1,0,0,1))
self.inventoryknapp02.reparentTo(self.inventory)
self.inventoryknapp02.setBin("fixed", 1)
self.inventoryknapp03 = DirectButton(pos=(self.c('0px', 'x', margin=0), 1, self.c('0px', 'Y', margin=0)), frameSize=(1120,960,-940,-975), frameColor=(0,1,0,1))
self.inventoryknapp03.reparentTo(self.inventory)
self.inventoryknapp03.setBin("fixed", 1)
self.inventoryknapp04 = DirectButton(pos=(self.c('0px', 'x', margin=0), 1, self.c('0px', 'Y', margin=0)), frameSize=(1280,1120,-940,-975), frameColor=(1,1,0,1), commandButtons= DGG.LMB, command=testf)
self.inventoryknapp04.reparentTo(self.inventory)
self.inventoryknapp04.setBin("fixed", 1)
# Other stuff inside of inventory frame:
# Toggle inventory on/off:
self.toggled = True
else:
self.inventory.destroy()
# Toggle inventory on/off:
self.toggled = False