khleug35

Members
  • Content Count

    103
  • Joined

  • Last visited

  • Days Won

    1

khleug35 last won the day on January 7

khleug35 had the most liked content!

About khleug35

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. khleug35

    About write code out of game.modules tab and build apk.

    Oh dxmn !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I missed Storage Example from https://www.panda2.io/examples#storage-get In Panda2, in order to make save, I don't need to use localStorage it just use game.storage , my problem can solved. here is some example for saving game data game.config = { storage: { id: 'myGame' } }; game.module( 'game.main' ) .body(function() { game.createScene('Main', { init: function() { if(game.storage.get('score') === undefined || game.storage.get('score') === null ){ this.number = 1; game.storage.set('score', this.number); }else{ this.number = game.storage.get('score'); } this.shownumber = new game.SystemText(this.number); this.shownumber.size = 36; this.shownumber.font = 'serif'; this.shownumber.color = '#ff0000'; this.shownumber.align = 'center'; this.shownumber.x = game.width / 2; this.shownumber.addTo(this.stage); } , mousedown: function() { this.number++; game.storage.set('score', this.number); }, update: function() { this.shownumber.text = this.number; }, }); }); @enpu Thanks
  2. khleug35

    About write code out of game.modules tab and build apk.

    @enpu Thanks The following is my Panda 2 log files error code [2019-02-16 17:59:23.389] [error] panda-toolkit error: /Users/admin/Desktop/Game/Burning/src/game/main.js:2 if(localStorage.getItem("Upgrade") === undefined || localStorage.getItem("Upgrade") === null){ ^ ReferenceError: localStorage is not defined at Object.<anonymous> (/Users/admin/Desktop/Game/Burning/src/game/main.js:2:4) at Object.<anonymous> (/Users/admin/Desktop/Game/Burning/src/game/main.js:2757:3) at Module._compile (module.js:571:32) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) at Module.require (module.js:498:17) at require (internal/module.js:20:19) at requireScriptTags (/Applications/Panda 2.app/Contents/Resources/app.asar/node_modules/panda-toolkit/build.js:82:13) [2019-02-16 17:59:23.404] [error] panda-toolkit exit: 1 the log display that localStorage is not defined. I think that the localStorage can't put out of game .modules tab. but the game can play on the web, only not work in mobile Any good idea to create the save game function in the game and work on mobile?? Thank you very much
  3. Hello everyone , I would like to create save game function for my new game. so I using localStorage method, the following is my code, I write the script out of game.modules tab. if(localStorage.getItem("SAVEGAME") === undefined || localStorage.getItem("SAVEGAME") === null){ var savedata =0; localStorage.setItem("SAVEGAME", savedata); }else{ localStorage.getItem("SAVEGAME") } game.module( 'game.main' ) .require( 'game.player' ) .body(function() { game.createScene('Main', { init: function() { var text = new game.SystemText('Hello Panda'); text.size = 36; text.addTo(this.stage); } }); }); The game is not an error. but I Export project to build apk. the editor display this message. how to solve this problem? thank you very much. thx
  4. @enpu OH, Thank you very much for this solution, !! I downloaded the example It is more helpful and work for me !!!! thanks again
  5. About the joystick plugin problem. Is it possible to make the sprite rotation angle follow by joystick pad position?? if the joystick pad move to right-left, the sprite angle is right-left like the following images The following is my solution, but I think it is not the best way. I create the hidden object and the joystick can control the hide sprite movement. this.gun.rotation= this.gun.position.angle(game.scene.HiddenObject.point.position); like the following image Hidden object class game.createClass('HiddenObject', { init: function() { this.point = new game.Sprite('circle2.png') this.point.anchorCenter(); this.point.alpha =0 this.body = new game.Body(); this.body.collisionGroup = game.Body.POINTER; this.body.collideAgainst= [game.Body.WALL]; this.body.position.x = 500; this.body.position.y = 600; var shape = new game.Rectangle(this.point.width, this.point.height); this.body.addShape(shape); this.body.addTo(game.scene.world); this.body.collide = this.collide.bind(this); var ths = this; }, collide: function(body) { if (body.collisionGroup === game.Body.WALL) { return true; } return true; }, update: function() { if(game.scene.joystick2.axis.x ==0 && game.scene.joystick2.axis.y ==0){ this.body.velocity.x = 0; this.body.velocity.y = 0; } this.point.position.x = this.body.position.x; this.point.position.y = this.body.position.y; this.body.velocity.x += game.scene.joystick2.axis.x * 4800; this.body.velocity.y += game.scene.joystick2.axis.y * 4800; } Rotation Sprite class game.createClass('rotationsprite', { init: function() { this.gun = new game.Sprite('gun.png'); this.gun.anchorCenter(); this.gun.position.set(450, 550); this.gun.addTo(game.scene.container); }, update: function(){ this.gun.rotation= this.gun.position.angle(game.scene.HiddenObject.point.position); } } }); Any idea,? thank, I am sorry about my poor English.
  6. khleug35

    [Panda2] Dead Gunner

    @ShrewdPixel Thank you for your suggestion and thank you for playing Your comment is very helpful to make improve my game quality to my next game. Thank you for play all game to Game Showcase Pages and leave a more useful comment to each developer, thanks , have a nice day!
  7. khleug35

    [Panda2]Make 10! - A card game for Android.

    Very awnsome game!!!! Good Job, Great work!!! I Can't Stop Playing It,
  8. khleug35

    Creating desktop app with Panda 2

    Great Jobs, Thank for the update
  9. khleug35

    How to improve Load time?

    @enpu Thank you for reply and suggestion. TinyPNG and TexturePacker is a nice, simple to compress images online, thx
  10. khleug35

    How to improve Load time?

    @Wolfsbane Thx for reply The reason for I doing each scene load. I hope I don't want to load all asset in the main scene(it will case initial load time quite slow) so I doing each scene load. I tested it, when the game load the assets for each one time. the second time very too fast, so I think when the system load the assets one time, It will not load the asset again every time.
  11. khleug35

    How to improve Load time?

    Hello, @enpu I have received feedback, my new game in android app's load time slow and it can be improved. I take a video for reference. https://www.youtube.com/watch?v=WWN6Zc5ceug for my phone 0:00 - 0:02 The initial load time is taken 2sec. 0:04 - 0:09 Stage Select load time is taken 5sec. 0:10 - 0:12 Stage 1 load time is taken 2sec. 2:56 - 2:58 Stage 2 load time is taken 2sec. 5:12 - 5:14 Stage 3 load time is taken 2sec. 8:20 - 8:23 Stage 4 load time is taken 3sec. 12:27 - 12:29 Final Stage load time is taken 2sec. 15:41 - 15:46 Final Stage 2 load time is taken 5sec. For me, I think that the load time is not very very slow, but is it possible to improve??? thank you very much
  12. khleug35

    Endless Cave - How far can you run?

    Thank for Update cheer
  13. khleug35

    [Panda2] Dead Gunner

    @enpu Thank you,have a nice day @Wolfsbane Many Thank you for a great point I have asked the question about load time in panda2 forum and I will change button positions and add check point in Stage1-2 to next version Thanks again, have a nice day
  14. khleug35

    How to improve Load time?

    About loading times Maybe my code is not compiled well, which causes the loading speed to slow down. I hope anyone can give me an idea to solve the problem. Thanks For example, my game deadgun is 20Mb, My BGM file has 16Mb, so the load time is too slow. In order to avoid initial load time quite slow. I create a Loading Scene for loading asset In Main Scene game.createScene('Title', { .... init: function() { this.choice1 = new game.Button('title/gamestart.png',551,480,function(){ WhatSceneDoYouWantToLoad='StageSelect'; game.system.loadScene('Loading'); }); this.choice2 = new game.Button('title/password.png',836,480,function(){ WhatSceneDoYouWantToLoad='PASSWORD'; game.system.loadScene('Loading'); }); this.choice3 = new game.Button('title/bossfight.png',551,585,function(){ WhatSceneDoYouWantToLoad='StageSelectBoss'; game.system.loadScene('Loading'); }); this.choice4 = new game.Button('title/credits.png',836,585,function(){ WhatSceneDoYouWantToLoad='Credits'; game.system.loadScene('Loading'); }); } .... In Loading Scene game.createScene('Loading', { backgroundColor: "#000000", init: function() { switch(WhatSceneDoYouWantToLoad){ case 'StageSelect': game.addAsset('bgm/shoot1.wav'); game.addAsset('bgm/shoot2.wav'); game.addAsset('bgm/hurt.mp3'); game.addAsset('bgm/jump.mp3'); game.addAsset('bgm/get.mp3'); game.addAsset('bgm/boss_dead.mp3'); game.addAsset('bgm/boom.mp3'); game.addAsset('bgm/boss.mp3'); game.addAsset('bgm/stageselect.mp3'); break; case 'PASSWORD': game.addAsset('bgm/hurt.mp3'); break; case 'StageSelectBoss': game.addAsset('bgm/shoot1.wav'); game.addAsset('bgm/shoot2.wav'); game.addAsset('bgm/hurt.mp3'); game.addAsset('bgm/jump.mp3'); game.addAsset('bgm/get.mp3'); game.addAsset('bgm/boss_dead.mp3'); game.addAsset('bgm/boom.mp3'); game.addAsset('bgm/boss.mp3'); game.addAsset('bgm/stageselect.mp3'); break; case 'Credits': game.addAsset('bgm/shoot1.wav'); game.addAsset('bgm/shoot2.wav'); game.addAsset('bgm/hurt.mp3'); game.addAsset('bgm/jump.mp3'); game.addAsset('bgm/get.mp3'); game.addAsset('bgm/boss_dead.mp3'); game.addAsset('bgm/boom.mp3'); game.addAsset('bgm/stageselect.mp3'); game.addAsset('bgm/Ending.mp3'); break; //stage case 'Stage1': game.addAsset('bgm/stage1.mp3'); break; case 'Stage2': game.addAsset('bgm/stage2.mp3'); break; case 'Stage3': game.addAsset('bgm/stage3.mp3'); break; case 'Stage4': game.addAsset('bgm/stage4.mp3'); break; case 'Stage5': game.addAsset('bgm/stage5.mp3'); break; case 'Stage5-4': game.addAsset('bgm/FinalStage.mp3'); game.addAsset('bgm/finalboss.ogg'); break; case 'Stage5-5-Boss': game.addAsset('bgm/finalboss.ogg'); break; case 'Ending': game.addAsset('bgm/Ending.mp3'); break; //Loading Bar this.bar = new game.Graphics(); this.bar.fillColor = '#ffffff'; this.bar.drawRect(300, game.height/2, 600, 40); this.bar.center(game.scene.stage); this.bar.addTo(game.scene.stage); this.bar.scale.x = 0; this.loader = new game.Loader(); this.loadingtext = new game.SystemText("Loading..."); this.loadingtext.size = 60; this.loadingtext.color = '#ffff68'; this.loadingtext.position.set(490, 250); this.loader.onStart = function() { game.scene.loadingtext.addTo(game.scene.stage); } }; this.loader.onProgress = function() { game.scene.bar.scale.x = game.scene.percent / 100; }; this.loader.onComplete = function() { game.system.loadScene(WhatSceneDoYouWantToLoad); }; this.loader.start(); } but load time seemed quite slow, anyone have good idea or right methed to asset loading?? Thank you very much.
  15. khleug35

    Block Puck 3D game template

    Woooo😍, Great Job, thank for this