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
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)
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)
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