示例#1
0
    def __init__(self):
        ScriptWidget.__init__(self)
        ActionListener.__init__(self)

        self.t = 0
        self.bgforward = False

        self.background = Sprite('DATA/FormMain3/2bg.gi')
        self.background.width = self.background.width / (
            engine.screenHeight / self.background.height)
        self.background.height = engine.screenHeight
        self.background.layer = -3
        self.addChild(self.background)

        self.bgPlanet = Sprite('DATA/FormMain3/2Planet.gi')
        self.bgPlanet.origin = (SpriteXOrigin.POSITION_X_LEFT,
                                SpriteYOrigin.POSITION_Y_BOTTOM)
        self.bgPlanet.position = (0, engine.screenHeight)
        self.bgPlanet.layer = -2
        self.addChild(self.bgPlanet)

        self.bgAnimLine = GAISprite("DATA/FormMain2/2AnimLine.gai")
        self.bgAnimLine.origin = (SpriteXOrigin.POSITION_X_RIGHT,
                                  SpriteYOrigin.POSITION_Y_TOP)
        self.bgAnimLine.position = (engine.screenWidth, 0)
        self.bgAnimLine.layer = 0
        self.addChild(self.bgAnimLine)

        self.bgAnim = GAISprite("DATA/FormMain2/2AnimMain.gai")
        self.bgAnim.layer = -1
        self.bgAnim.height = self.bgAnim.height * engine.screenWidth / self.bgAnim.width
        self.bgAnim.width = engine.screenWidth
        self.bgAnim.origin = (SpriteXOrigin.POSITION_X_LEFT,
                              SpriteYOrigin.POSITION_Y_BOTTOM)
        self.bgAnim.position = (0, engine.screenHeight)
        self.addChild(self.bgAnim)

        self.caption = Sprite("DATA/FormMain3/2caption.gi")
        self.caption.origin = (SpriteXOrigin.POSITION_X_RIGHT,
                               SpriteYOrigin.POSITION_Y_CENTER)
        self.caption.position = (engine.screenWidth, 110)
        self.caption.layer = 1
        self.addChild(self.caption)

        self.ship = [None, None, None]
        self.ship[0] = GAISprite('DATA/FormMain3/2Ship1.gai')
        self.ship[0].position = (0, engine.screenHeight - self.ship[0].height)
        self.ship[0].layer = 1
        self.ship[0].speed = 1.5
        self.ship[0].singleShot = True

        self.ship[1] = GAISprite('DATA/FormMain3/2Ship2.gai')
        self.ship[1].position = (0, engine.screenHeight - self.ship[1].height)
        self.ship[1].layer = 1
        self.ship[1].speed = 1.5
        self.ship[1].singleShot = True
        self.ship[1].stop()

        self.ship[2] = GAISprite('DATA/FormMain3/2Ship3.gai')
        self.ship[2].position = (0, engine.screenHeight - self.ship[2].height)
        self.ship[2].layer = 1
        self.ship[2].speed = 1.5
        self.ship[2].singleShot = True
        self.ship[2].stop()

        self.addChild(self.ship[0])
        self.currentShip = 0

        self.menuNode = WidgetNode()
        self.menuNode.layer = 2
        self.menuNode.position = (engine.screenWidth - 400, 300)
        self.addWidget(self.menuNode)

        sound.playMusic("Music/SPECIAL/SpaceIsCalling.dat", False)

        self.buttons = {}

        clickSound = "Sound/ButtonClick.wav"
        leaveSound = "Sound/ButtonLeave.WAV"
        enterSound = "Sound/ButtonEnter.wav"

        y = 0
        for name in self.BUTTONS:
            button = Button(
                'DATA/FormMain2/' + self.BUTTON_FILES[name] + 'N.gi',
                'DATA/FormMain2/' + self.BUTTON_FILES[name] + 'A.gi',
                'DATA/FormMain2/' + self.BUTTON_FILES[name] + 'D.gi')
            self.buttons[name] = button
            button.addListener(self)
            button.position = (0, y)
            button.sounds = (clickSound, enterSound, leaveSound)
            self.menuNode.addWidget(button)
            y = y + self.BUTTON_SPARSE

        self.questButton = Button('DATA/FormLoadRobot/2LoadQuestN.gi',
                                  'DATA/FormLoadRobot/2LoadQuestA.gi',
                                  'DATA/FormLoadRobot/2LoadQuestN.gi')
        self.questButton.addListener(self)
        self.questButton.position = (305, engine.screenHeight - 135)
        self.questButton.layer = 2
        self.questButton.sounds = (clickSound, enterSound, leaveSound)
        self.addWidget(self.questButton)

        self.pause = False
示例#2
0
 def __init__(self):
     ScriptWidget.__init__(self)
     ActionListener.__init__(self)
     
     self.scrollStyle = resources.objectManager().getResourceObject('/world/skin/quest/dark').scrollStyle
     if not self.scrollStyle:
         self.scrollStyle = engine.defaultSkin.scrollStyle
         
     font = resources.objectManager().getResourceObject('/fonts/default')
     self.smallFont = resources.loadFont(font.path, 12, font.antialiasing)
     self.font = resources.loadFont(font)
     self.buttonFont = resources.loadFont(resources.objectManager().getResourceObject('/fonts/ranger-bold'))
     
     self.buttonSounds = (engine.defaultSkin.buttonStyle.clickSound,\
                          engine.defaultSkin.buttonStyle.enterSound,\
                          engine.defaultSkin.buttonStyle.leaveSound)
     
     self.bg = Sprite("DATA/FormLoadQuest/2BG.gi")
     self.bg.layer = -1
     self.addChild(self.bg)
     self.width = int(self.bg.width)
     self.height = int(self.bg.height)
     
     self.bg2 = Sprite("DATA/FormLoadQuest/2ImageBG.gi")
     self.bg2.layer = -3
     self.bg2.position = (640, 15)
     self.addChild(self.bg2)
     
     self.image = None
     
     self.descNode = WidgetNode()
     self.descScroll = ScrollArea(self.scrollStyle, self.descNode)
     self.descScroll.position = (631, 280)
     self.descScroll.geometry = (280, 243)
     self.addWidget(self.descScroll)
     
     self.desc = ColorLabel()
     self.desc.font = self.font
     self.desc.position = (0, 5)
     self.desc.wordWrap = True
     self.desc.setFixedWidth(280)
     self.desc.textColor = Color(0.0, 0.0, 0.0)
     self.desc.selectionColor = Color(0.0, 0.0, 1.0)
     self.descWidget = LabelWidget(self.desc)
     self.descNode.addWidget(self.descWidget)
     
     self.node = WidgetNode()
     
     self.scroll = ScrollArea(self.scrollStyle, self.node)
     self.scroll.position = (40, 145)
     self.scroll.geometry = (528, 460)
     self.addWidget(self.scroll)
     
     self.startButton = Button('DATA/FormSave2/2SaveN.gi', '', 'DATA/FormSave2/2SaveD.gi')
     self.startButton.sounds = (self.buttonSounds[0], '', '')
     self.startButton.text = _('Start', 'FormLoadQuest.Start', 'OpenSR-World')
     self.startButton.font = self.buttonFont
     self.startButton.color = Color.fromString('#002842')
     self.startButton.position = (638, 574)
     self.startButton.layer = 1
     self.startButton.addListener(self)
     self.addWidget(self.startButton)
     
     self.cancelButton = Button('DATA/FormSave2/2CancelN.gi', '', 'DATA/FormSave2/2CancelD.gi')
     self.cancelButton.sounds = (self.buttonSounds[0], '', '')
     self.cancelButton.text = _('Cancel', 'FormLoadQuest.Cancel', 'OpenSR-World')
     self.cancelButton.font = self.buttonFont
     self.cancelButton.color = Color.fromString('#002842')
     self.cancelButton.position = (638, 626)
     self.cancelButton.layer = 1
     self.cancelButton.addListener(self)
     self.addWidget(self.cancelButton)
     
     self.closeButton = Button('DATA/FormSave2/2CloseN.gi', 'DATA/FormSave2/2CloseA.gi', 'DATA/FormSave2/2CloseD.gi')
     self.closeButton.sounds = self.buttonSounds
     self.closeButton.position = (891, 601)
     self.closeButton.layer = 1
     self.closeButton.addListener(self)
     self.addWidget(self.closeButton)
     
     self.buttons = {}       
     self.loadQuests()
     
     self.selected = None
     
     first = None
     i = 0
     for q in self.quests:
         b = Button("DATA/FormLoadQuest/2SlotNormal.gi", "DATA/FormLoadQuest/2SlotOnMouse.gi", "DATA/FormLoadQuest/2SlotOnPress.gi")
         b.position = (0, 5 + i * (b.height + 5))
         self.node.addWidget(b)
         self.buttons[b] = i
         b.addListener(self)
         if i == 0:
             first = b
         
         nl = Label(q.name)
         nl.font = self.font
         nl.origin = (SpriteXOrigin.POSITION_X_LEFT, SpriteYOrigin.POSITION_Y_CENTER)
         nl.position = (15, int(5 + i * (b.height + 5) + b.height / 2))
         nl.layer = 1
         nl.color = Color.fromString("#A5B68C")
         self.node.addChild(nl)
         
         if q.length < 1:
             diff = "DATA/FormLoadQuest/2D1.gi"
         elif q.length < 2:
             diff = "DATA/FormLoadQuest/2D2.gi"
         elif q.length < 3:
             diff = "DATA/FormLoadQuest/2D3.gi"
         elif q.length < 4:
             diff = "DATA/FormLoadQuest/2D4.gi"
         else:
             diff = "DATA/FormLoadQuest/2D5.gi"
             
         diffIcon = Sprite(diff)
         diffIcon.origin = (SpriteXOrigin.POSITION_X_LEFT, SpriteYOrigin.POSITION_Y_CENTER)
         diffIcon.position = (int(b.width / 2.2), int(5 + i * (b.height + 5) + b.height / 2))
         diffIcon.layer = 1
         self.node.addChild(diffIcon)
         
         gl = Label(q.genre)
         gl.font = self.smallFont
         gl.origin = (SpriteXOrigin.POSITION_X_LEFT, SpriteYOrigin.POSITION_Y_CENTER)
         gl.position = (int(b.width / 2.2) + 5 + diffIcon.width, int(5 + i * (b.height + 5) + b.height / 2))
         gl.layer = 1
         gl.color = Color.fromString("#A5B68C")
         gl.wordWrap = True
         gl.setFixedWidth(b.width - int(b.width / 2.2) - 5 - diffIcon.width)
         self.node.addChild(gl)
         
         i += 1
         
     self.select(first)
示例#3
0
    def __init__(self):
        ScriptWidget.__init__(self)
        ActionListener.__init__(self)

        self.scrollStyle = resources.objectManager().getResourceObject(
            '/world/skin/quest/dark').scrollStyle
        if not self.scrollStyle:
            self.scrollStyle = engine.defaultSkin.scrollStyle

        font = resources.objectManager().getResourceObject('/fonts/default')
        self.smallFont = resources.loadFont(font.path, 12, font.antialiasing)
        self.font = resources.loadFont(font)
        self.buttonFont = resources.loadFont(
            resources.objectManager().getResourceObject('/fonts/ranger-bold'))

        self.buttonSounds = (engine.defaultSkin.buttonStyle.clickSound,\
                             engine.defaultSkin.buttonStyle.enterSound,\
                             engine.defaultSkin.buttonStyle.leaveSound)

        self.bg = Sprite("DATA/FormLoadQuest/2BG.gi")
        self.bg.layer = -1
        self.addChild(self.bg)
        self.width = int(self.bg.width)
        self.height = int(self.bg.height)

        self.bg2 = Sprite("DATA/FormLoadQuest/2ImageBG.gi")
        self.bg2.layer = -3
        self.bg2.position = (640, 15)
        self.addChild(self.bg2)

        self.image = None

        self.descNode = WidgetNode()
        self.descScroll = ScrollArea(self.scrollStyle, self.descNode)
        self.descScroll.position = (631, 280)
        self.descScroll.geometry = (280, 243)
        self.addWidget(self.descScroll)

        self.desc = ColorLabel()
        self.desc.font = self.font
        self.desc.position = (0, 5)
        self.desc.wordWrap = True
        self.desc.setFixedWidth(280)
        self.desc.textColor = Color(0.0, 0.0, 0.0)
        self.desc.selectionColor = Color(0.0, 0.0, 1.0)
        self.descWidget = LabelWidget(self.desc)
        self.descNode.addWidget(self.descWidget)

        self.node = WidgetNode()

        self.scroll = ScrollArea(self.scrollStyle, self.node)
        self.scroll.position = (40, 145)
        self.scroll.geometry = (528, 460)
        self.addWidget(self.scroll)

        self.startButton = Button('DATA/FormSave2/2SaveN.gi', '',
                                  'DATA/FormSave2/2SaveD.gi')
        self.startButton.sounds = (self.buttonSounds[0], '', '')
        self.startButton.text = _('Start', 'FormLoadQuest.Start',
                                  'OpenSR-World')
        self.startButton.font = self.buttonFont
        self.startButton.color = Color.fromString('#002842')
        self.startButton.position = (638, 574)
        self.startButton.layer = 1
        self.startButton.addListener(self)
        self.addWidget(self.startButton)

        self.cancelButton = Button('DATA/FormSave2/2CancelN.gi', '',
                                   'DATA/FormSave2/2CancelD.gi')
        self.cancelButton.sounds = (self.buttonSounds[0], '', '')
        self.cancelButton.text = _('Cancel', 'FormLoadQuest.Cancel',
                                   'OpenSR-World')
        self.cancelButton.font = self.buttonFont
        self.cancelButton.color = Color.fromString('#002842')
        self.cancelButton.position = (638, 626)
        self.cancelButton.layer = 1
        self.cancelButton.addListener(self)
        self.addWidget(self.cancelButton)

        self.closeButton = Button('DATA/FormSave2/2CloseN.gi',
                                  'DATA/FormSave2/2CloseA.gi',
                                  'DATA/FormSave2/2CloseD.gi')
        self.closeButton.sounds = self.buttonSounds
        self.closeButton.position = (891, 601)
        self.closeButton.layer = 1
        self.closeButton.addListener(self)
        self.addWidget(self.closeButton)

        self.buttons = {}
        self.loadQuests()

        self.selected = None

        first = None
        i = 0
        for q in self.quests:
            b = Button("DATA/FormLoadQuest/2SlotNormal.gi",
                       "DATA/FormLoadQuest/2SlotOnMouse.gi",
                       "DATA/FormLoadQuest/2SlotOnPress.gi")
            b.position = (0, 5 + i * (b.height + 5))
            self.node.addWidget(b)
            self.buttons[b] = i
            b.addListener(self)
            if i == 0:
                first = b

            nl = Label(q.name)
            nl.font = self.font
            nl.origin = (SpriteXOrigin.POSITION_X_LEFT,
                         SpriteYOrigin.POSITION_Y_CENTER)
            nl.position = (15, int(5 + i * (b.height + 5) + b.height / 2))
            nl.layer = 1
            nl.color = Color.fromString("#A5B68C")
            self.node.addChild(nl)

            if q.length < 1:
                diff = "DATA/FormLoadQuest/2D1.gi"
            elif q.length < 2:
                diff = "DATA/FormLoadQuest/2D2.gi"
            elif q.length < 3:
                diff = "DATA/FormLoadQuest/2D3.gi"
            elif q.length < 4:
                diff = "DATA/FormLoadQuest/2D4.gi"
            else:
                diff = "DATA/FormLoadQuest/2D5.gi"

            diffIcon = Sprite(diff)
            diffIcon.origin = (SpriteXOrigin.POSITION_X_LEFT,
                               SpriteYOrigin.POSITION_Y_CENTER)
            diffIcon.position = (int(b.width / 2.2),
                                 int(5 + i * (b.height + 5) + b.height / 2))
            diffIcon.layer = 1
            self.node.addChild(diffIcon)

            gl = Label(q.genre)
            gl.font = self.smallFont
            gl.origin = (SpriteXOrigin.POSITION_X_LEFT,
                         SpriteYOrigin.POSITION_Y_CENTER)
            gl.position = (int(b.width / 2.2) + 5 + diffIcon.width,
                           int(5 + i * (b.height + 5) + b.height / 2))
            gl.layer = 1
            gl.color = Color.fromString("#A5B68C")
            gl.wordWrap = True
            gl.setFixedWidth(b.width - int(b.width / 2.2) - 5 - diffIcon.width)
            self.node.addChild(gl)

            i += 1

        self.select(first)
示例#4
0
    def __init__(self):
        ScriptWidget.__init__(self)
        ActionListener.__init__(self)
                
        self.t = 0
        self.bgforward = False
        
        self.background = Sprite('DATA/FormMain3/2bg.gi')
        self.background.width = self.background.width / (engine.screenHeight / self.background.height)
        self.background.height = engine.screenHeight
        self.background.layer = -3
        self.addChild(self.background)
        
        self.bgPlanet = Sprite('DATA/FormMain3/2Planet.gi')
        self.bgPlanet.origin = (SpriteXOrigin.POSITION_X_LEFT, SpriteYOrigin.POSITION_Y_BOTTOM)
        self.bgPlanet.position = (0, engine.screenHeight)
        self.bgPlanet.layer = -2
        self.addChild(self.bgPlanet)

        self.bgAnimLine = GAISprite("DATA/FormMain2/2AnimLine.gai")
        self.bgAnimLine.origin = (SpriteXOrigin.POSITION_X_RIGHT, SpriteYOrigin.POSITION_Y_TOP)
        self.bgAnimLine.position = (engine.screenWidth, 0)
        self.bgAnimLine.layer = 0
        self.addChild(self.bgAnimLine)

        self.bgAnim = GAISprite("DATA/FormMain2/2AnimMain.gai")
        self.bgAnim.layer = -1
        self.bgAnim.height = self.bgAnim.height * engine.screenWidth / self.bgAnim.width
        self.bgAnim.width = engine.screenWidth
        self.bgAnim.origin = (SpriteXOrigin.POSITION_X_LEFT, SpriteYOrigin.POSITION_Y_BOTTOM)
        self.bgAnim.position = (0, engine.screenHeight)
        self.addChild(self.bgAnim)

        self.caption = Sprite("DATA/FormMain3/2caption.gi")
        self.caption.origin = (SpriteXOrigin.POSITION_X_RIGHT, SpriteYOrigin.POSITION_Y_CENTER)
        self.caption.position = (engine.screenWidth, 110)
        self.caption.layer = 1
        self.addChild(self.caption)
        
        self.ship = [None, None, None]
        self.ship[0] = GAISprite('DATA/FormMain3/2Ship1.gai')
        self.ship[0].position = (0, engine.screenHeight - self.ship[0].height)
        self.ship[0].layer = 1
        self.ship[0].speed = 1.5
        self.ship[0].singleShot = True
        
        self.ship[1] = GAISprite('DATA/FormMain3/2Ship2.gai')
        self.ship[1].position = (0, engine.screenHeight - self.ship[1].height)
        self.ship[1].layer = 1
        self.ship[1].speed = 1.5
        self.ship[1].singleShot = True
        self.ship[1].stop();
        
        self.ship[2] = GAISprite('DATA/FormMain3/2Ship3.gai')
        self.ship[2].position = (0, engine.screenHeight - self.ship[2].height)
        self.ship[2].layer = 1
        self.ship[2].speed = 1.5
        self.ship[2].singleShot = True
        self.ship[2].stop();
        
        self.addChild(self.ship[0])
        self.currentShip = 0
        
        self.menuNode = WidgetNode()
        self.menuNode.layer = 2
        self.menuNode.position = (engine.screenWidth - 400, 300)
        self.addWidget(self.menuNode)
        
        sound.playMusic("Music/SPECIAL/SpaceIsCalling.dat", False)
        
        self.buttons = {}
        
        clickSound = "Sound/ButtonClick.wav"
        leaveSound = "Sound/ButtonLeave.WAV"
        enterSound = "Sound/ButtonEnter.wav"
        
        y = 0
        for name in self.BUTTONS:  
            button = Button('DATA/FormMain2/' + self.BUTTON_FILES[name] + 'N.gi', 'DATA/FormMain2/' + self.BUTTON_FILES[name] + 'A.gi', 'DATA/FormMain2/' + self.BUTTON_FILES[name] + 'D.gi')
            self.buttons[name] = button
            button.addListener(self)
            button.position = (0, y)
            button.sounds = (clickSound, enterSound, leaveSound)
            self.menuNode.addWidget(button)
            y = y + self.BUTTON_SPARSE

        self.questButton = Button('DATA/FormLoadRobot/2LoadQuestN.gi', 'DATA/FormLoadRobot/2LoadQuestA.gi', 'DATA/FormLoadRobot/2LoadQuestN.gi')
        self.questButton.addListener(self)
        self.questButton.position = (305, engine.screenHeight - 135)
        self.questButton.layer = 2
        self.questButton.sounds = (clickSound, enterSound, leaveSound)
        self.addWidget(self.questButton)
        
        self.pause = False