Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
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)
Пример #4
0
    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)
Пример #5
0
    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()
Пример #6
0
    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)