I made this script. When I click down it goes to the next word.(makes it black) The problem is it only lets me go down one word before it stops working. I guess I don’t understand tasks a lot.
import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.showbase.DirectObject import DirectObject
from direct.gui.OnscreenText import OnscreenText
from direct.gui.OnscreenImage import OnscreenImage
from pandac.PandaModules import TransparencyAttrib
from direct.task import Task
from direct.fsm import FSM
import sys, os
class world(FSM.FSM, DirectObject):
def __init__(self):
wp = WindowProperties()
wp.setTitle('Talking Guy')
#wp.setSize('640,480')
base.win.requestProperties(wp)
self.image = OnscreenImage(image = 'title.png', pos = (0, 0, 0), scale = (1.5, 1, 1))
self.image.setTransparency(TransparencyAttrib.MAlpha)
FSM.FSM.__init__(self,'avatarFSM')
print base.win.getXSize
print base.win.getYSize
self.textMode = None
self.action = None
self.play = OnscreenText(text="Play Game",
style=1, fg=(0,0,0,1),
pos=(-1,0), scale = .1)
self.htp = OnscreenText(text="How to play",
style=1, fg=(1,1,1,1),
pos=(-1,-.3), scale = .1)
self.extra = OnscreenText(text="Extra info.",
style=1, fg=(1,1,1,1),
pos=(-1,-.6), scale = .1)
self.accept("escape", sys.exit)
self.accept("arrow_down",self.setAction, extraArgs=['down'])
self.accept("arrow_up",self.setAction, extraArgs=['up'])
taskMgr.add(self.setText, "Menu")
def setAction(self, action=None):
self.textMode = action
def setText(self, task):
self.mode = 'play'
if self.textMode:
if self.textMode == 'down' and self.mode == 'play':
self.play.destroy()
self.play = OnscreenText(text="Play Game",
style=1, fg=(1,1,1,1),
pos=(-1,0), scale = .1)
self.htp.destroy()
self.htp = OnscreenText(text="How to play",
style=1, fg=(0,0,0,1),
pos=(-1,-.3), scale = .1)
self.mode = 'htp'
return task.cont
elif self.textMode == 'down' and self.mode == 'htp':
self.htp.destroy()
self.htp = OnscreenText(text="How to play",
style=1, fg=(1,1,1,1),
pos=(-1,-.3), scale = .1)
self.extra.destroy()
self.extra = OnscreenText(text="Extra info.",
style=1, fg=(0,0,0,1),
pos=(-1,-.6), scale = .1)
return task.cont
return task.cont
w = world()
run()
Thanks for taking the time to read this and Im pretty sure the error is pretty easy.