def initLayers(self): self.stageLayer = dkl.Sprite() self.game.stage.addChild(self.stageLayer) self.addBg() self.addPlayer() self.initScoreTex() self.itemLayer = dkl.Sprite() self.stageLayer.addChild(self.itemLayer)
def createShapes(self): fillColor = dkl.Color.fromHex("#EAEAEA") strokeColor = dkl.Color.fromHex("#0000EE") fillColor.a = 0.5 sh1 = dkl.Sprite() sh1.x = 100 sh1.y = 100 sh1.rotation = 30 sh1.name = "Rect" sh1.graphics.drawRect(-50, -50, 100, 100, fillStyle=fillColor, strokeStyle=strokeColor, lineWidth=3) sh1.addShapes(sh1.getVisualShapes()) sh1.addEventListener(dkl.MouseEvent.MOUSE_DOWN, self.startDrag) self.mainLayer.addChild(sh1) sh2 = dkl.Sprite() sh2.x = 250 sh2.y = 200 sh2.name = "Circle" sh2.graphics.drawArc(0, 0, 50, fillStyle=fillColor, strokeStyle=strokeColor, lineWidth=3) sh2.addShapes(sh2.getVisualShapes()) sh2.addEventListener(dkl.MouseEvent.MOUSE_DOWN, self.startDrag) self.mainLayer.addChild(sh2) sh3 = dkl.Sprite() sh3.x = 400 sh3.y = 150 sh3.name = "Polygon" sh3.graphics.drawVertices([ dkl.Point2D(-30, -30), dkl.Point2D(-60, 0), dkl.Point2D(-10, 80), dkl.Point2D(60, 60), dkl.Point2D(90, 10), dkl.Point2D(10, -50) ], fillStyle=fillColor, strokeStyle=strokeColor, lineWidth=3) sh3.addShapes(sh3.getVisualShapes()) sh3.addEventListener(dkl.MouseEvent.MOUSE_DOWN, self.startDrag) self.mainLayer.addChild(sh3)
def demoInit(): # green layer layer1 = dkl.Sprite() layer1.x = 200 layer1.y = 200 layer1.name = "Green Layer" layer1.graphics.drawRect(0, 0, 150, 150, fillStyle=dkl.Color.GREEN, strokeStyle=dkl.Color.DARK_GREEN, lineWidth=3) layer1.addEventListener(dkl.MouseEvent.MOUSE_DOWN, onClick) game.stage.addChild(layer1) # orange layer layer2 = dkl.Sprite() layer2.x = 100 layer2.y = 100 layer2.name = "Orange Layer" layer2.graphics.drawRect(0, 0, 150, 150, fillStyle=dkl.Color.ORANGE, strokeStyle=dkl.Color.ORANGE_RED, lineWidth=3) layer2.addEventListener(dkl.MouseEvent.MOUSE_DOWN, onClick) game.stage.addChild(layer2) # blue layer layer3 = dkl.Sprite() layer3.mouseShelter = False layer3.x = 300 layer3.y = 100 layer3.name = "Blue Layer" layer3.graphics.drawRect(0, 0, 150, 150, fillStyle=dkl.Color.fromHex("#00BFFF"), strokeStyle=dkl.Color.fromHex("#4169E1"), lineWidth=3) layer3.addEventListener(dkl.MouseEvent.MOUSE_DOWN, onClick) layer3.addEventListener(dkl.MouseEvent.MOUSE_MOVE, onMouseMove) game.stage.addChild(layer3)
def create(self): self.stageLayer = dkl.Sprite() self.game.stage.addChild(self.stageLayer) self.game.stage.addEventListener(dkl.KeyboardEvent.KEY_DOWN, self.onKeyDown) self.stageLayer.addEventListener(dkl.LoopEvent.ENTER_FRAME, self.mainLoop) self.scoreTex = dkl.Texture() self.scoreTex.x = self.scoreTex.y = 1 self.stageLayer.addChild(self.scoreTex) self.updateScoreText(self.score)
def create(self): self.mainLayer = dkl.Sprite() self.mainLayer.graphics.drawRect( 0, 0, self.game.windowWidth, self.game.windowHeight, fillStyle=dkl.Color.TRANSPARENT) # draw a transparent background self.game.stage.addChild(self.mainLayer) self.mainLayer.addEventListener(dkl.MouseEvent.MOUSE_MOVE, self.onMouseMove) self.mainLayer.addEventListener(dkl.MouseEvent.MOUSE_UP, self.stopDrag) self.dragTarget = None self.preMousePos = None self.createShapes()
def create(self): ## keyboard event test def onKeyUp(e): if e.data["key"] == dkl.Keyboard.ESC: self.game.exit() self.game.stage.addEventListener(dkl.KeyboardEvent.KEY_UP, onKeyUp) ## draw shapes: rectangle, circle, triangle layer = dkl.Sprite() layer.x = 50 layer.y = 300 layer.graphics.drawRect(0, 0, 150, 150, fillStyle=dkl.Color.fromHex("#00EE00"), strokeStyle=dkl.Color.fromHex("#009900"), lineWidth=5) layer.graphics.drawArc(275, 75, 75, fillStyle=dkl.Color.fromHex("#EE0000"), strokeStyle=dkl.Color.fromHex("#990000"), lineWidth=5) layer.graphics.drawVertices( [dkl.Point2D(400, 0), dkl.Point2D(475, 150), dkl.Point2D(550, 0)], fillStyle=dkl.Color.fromHex("#0000EE"), strokeStyle=dkl.Color.fromHex("#000099"), lineWidth=5) self.game.stage.addChild(layer) def moveShapes(e): e.currentTarget.x += 1 e.currentTarget.rotation += 0.5 def onClick(e): dkl.log("Click at (%s, %s)" % (e.data["selfX"], e.data["selfY"])) layer.addEventListener(dkl.LoopEvent.ENTER_FRAME, moveShapes) layer.addEventListener(dkl.MouseEvent.MOUSE_UP, onClick) ## load and display images loader = dkl.TextureDataLoader() loader.loadList([{ "name": "yaxi_logo", "path": "./yaxi_logo.png" }, { "name": "avatar", "path": "./avatar.png" }]) tex1 = dkl.Texture(loader.get("avatar")) tex1.x = tex1.y = 60 tex1.textureData.x = tex1.textureData.y = 30 tex1.textureData.width = tex1.textureData.height = 100 self.game.stage.addChild(tex1) tex2 = dkl.Texture(loader.get("yaxi_logo")) tex2.x = 360 tex2.y = 30 tex2.rotation = 30 self.game.stage.addChild(tex2) ## display text field textTexData = dkl.TextureData.fromText( "Hello World! 你好世界!こんにちは世界!", color=dkl.Color.fromHex("#FF0000"), antialiasing=False) textTex = dkl.Texture(textTexData) textTex.x = 50 textTex.y = 500 textTex.scaleX = 1.5 textTex.scaleY = 1.6 self.game.stage.addChild(textTex)