Ninjadoodle Posted January 28, 2015 Share Posted January 28, 2015 Hi guys Very rarely, I get this error when testing/reloading my game locally? [Error] TypeError: undefined is not an object (evaluating 'game[extend].extend') (anonymous function) (core.js, line 680) Any ideas what could be causing this? Thank you in advance! Quote Link to comment Share on other sites More sharing options...
enpu Posted February 1, 2015 Share Posted February 1, 2015 What Panda version are you using? Quote Link to comment Share on other sites More sharing options...
Ninjadoodle Posted February 1, 2015 Author Share Posted February 1, 2015 Hi @enpu This has been happening in most of the versions until now, including the latest develop.I'm not too sure whether it's something i'm doing wrong, or something else. Right now, I'm using a commit that fixes the mobile browser fullscreen. It's really strange as it happens rarely and completely randomly (when reloading/testing the game) as far as I can tell. Thank you! Quote Link to comment Share on other sites More sharing options...
Ninjadoodle Posted February 3, 2015 Author Share Posted February 3, 2015 Hmm just go this error again when refreshing my game ... [Error] TypeError: undefined is not an object (evaluating 'game[extend].extend')createClass (core.js, line 711)createScene (core.js, line 721)(anonymous function) (stage05.js, line 7)loadModules (core.js, line 424)body (core.js, line 353)global code (stage05.js, line 4) not too sure what it means, but I get a white screen and if I reload again, things work normally. Quote Link to comment Share on other sites More sharing options...
enpu Posted February 3, 2015 Share Posted February 3, 2015 Hmm, can you show or send your stage05.js file? Quote Link to comment Share on other sites More sharing options...
Ninjadoodle Posted February 3, 2015 Author Share Posted February 3, 2015 Hi @enpu Luckily the code is pretty short ... the thing is that it happens randomly (I don't think it's always stage05)game.module( 'game.stage05').body(function() {// LEVEL CODEgame.createScene('Stage05', { backgroundColor: 0x000000, init: function() { // SETUP LEVEL game.storage.set('level', game.system.currentSceneName); var fader = new game.Fader({color: 0xFFFFFF, speed: 500}); fader.fadeIn(); var bg = new game.Container().addTo(game.scene.stage); var mg = new game.Container().addTo(game.scene.stage); var fg = new game.Container().addTo(game.scene.stage); var ui = new game.Container().addTo(game.scene.stage); bg.position.set(game.system.width / 2 - game.system.originalWidth * game.scale / 2, game.system.height / 2 - game.system.originalHeight * game.scale / 2); mg.position.set(game.system.width / 2 - game.system.originalWidth * game.scale / 2, game.system.height / 2 - game.system.originalHeight * game.scale / 2); fg.position.set(game.system.width / 2 - game.system.originalWidth * game.scale / 2, game.system.height / 2 - game.system.originalHeight * game.scale / 2); ui.position.set(game.system.width / 2 - game.system.originalWidth * game.scale / 2, game.system.height / 2 - game.system.originalHeight * game.scale / 2); var buttonOptions = new ButtonOptions(ui); // SETUP WORLD BG var worldBg = new game.Sprite('worldBg.png'); worldBg.position.set(240*game.scale, 160*game.scale); worldBg.anchor.set(0.5, 0.5); bg.addChild(worldBg); // SETUP WORLD FG var worldFg1 = new game.Sprite('worldFg.png'); worldFg1.position.set(240*game.scale, 160*game.scale); worldFg1.anchor.set(0.5, 0.5); fg.addChild(worldFg1); var worldFg2 = new game.Sprite('worldFg.png'); worldFg2.position.set(240*game.scale, 160*game.scale); worldFg2.anchor.set(0.5, 0.5); fg.addChild(worldFg2); // SETUP CLUES var clue1 = new game.Sprite('clueCompass1a.png'); clue1.anchor.set(0.5, 0); clue1.position.set(112*game.scale, 64*game.scale); mg.addChild(clue1); var clue2 = new game.Sprite('clueCompass1b.png'); clue2.anchor.set(0.5, 0); clue2.position.set(368*game.scale, 64*game.scale); mg.addChild(clue2); // SETUP SWITCHES var lightswitch1 = game.Animation.fromFrames('lightswitchCompass'); lightswitch1.anchor.set(0.5, 0); lightswitch1.position.set(120*game.scale, 208*game.scale); lightswitch1.interactive = true; lightswitch1.buttonMode = true; mg.addChild(lightswitch1); var lightswitch2 = game.Animation.fromFrames('lightswitchCompass'); lightswitch2.anchor.set(0.5, 0); lightswitch2.position.set(200*game.scale, 208*game.scale); lightswitch2.interactive = true; lightswitch2.buttonMode = true; mg.addChild(lightswitch2); var lightswitch3 = game.Animation.fromFrames('lightswitchCompass'); lightswitch3.anchor.set(0.5, 0); lightswitch3.position.set(280*game.scale, 208*game.scale); lightswitch3.interactive = true; lightswitch3.buttonMode = true; mg.addChild(lightswitch3); var lightswitch4 = game.Animation.fromFrames('lightswitchCompass'); lightswitch4.anchor.set(0.5, 0); lightswitch4.position.set(360*game.scale, 208*game.scale); lightswitch4.interactive = true; lightswitch4.buttonMode = true; mg.addChild(lightswitch4); // SETUP LIGHTBULB var lightbulb = new game.Container().addTo(game.scene.stage); lightbulb.position.set(240*game.scale, -80*game.scale); mg.addChild(lightbulb); var lightbulbLight = new game.Sprite('lightbulbLight.png'); lightbulbLight.anchor.set(0.5, 0.5); lightbulbLight.position.set(0*game.scale, 188*game.scale); lightbulbLight.alpha = 0; lightbulb.addChild(lightbulbLight); var lightbulbHead = new game.Sprite('lightbulbHead.png'); lightbulbHead.anchor.set(0.5, 0.5); lightbulbHead.position.set(0*game.scale, 188*game.scale); lightbulb.addChild(lightbulbHead); var lightbulbHead2 = new game.Sprite('lightbulbHead2.png'); lightbulbHead2.anchor.set(0.5, 0.5); lightbulbHead2.position.set(0*game.scale, 188*game.scale); lightbulbHead2.alpha = 0; lightbulb.addChild(lightbulbHead2); var lightbulbHighlight = new game.Sprite('lightbulbHighlight.png'); lightbulbHighlight.anchor.set(0.5, 0.5); lightbulbHighlight.position.set(0*game.scale, 188*game.scale); lightbulb.addChild(lightbulbHighlight); var lightbulbEye1 = new game.Sprite('lightbulbEye.png'); lightbulbEye1.anchor.set(0.5, 0.5); lightbulbEye1.position.set(-28*game.scale, 208*game.scale); lightbulb.addChild(lightbulbEye1); var lightbulbEye2 = new game.Sprite('lightbulbEye.png'); lightbulbEye2.anchor.set(0.5, 0.5); lightbulbEye2.position.set(28*game.scale, 208*game.scale); lightbulb.addChild(lightbulbEye2); var lightbulbMouth = new game.Sprite('lightbulbMouth.png'); lightbulbMouth.anchor.set(0.5, 0); lightbulbMouth.position.set(0*game.scale, 208*game.scale); lightbulb.addChild(lightbulbMouth); var lightbulbSocket = new game.Sprite('lightbulbSocket.png'); lightbulbSocket.anchor.set(0.5, 0); lightbulbSocket.position.set(0*game.scale, 0*game.scale); lightbulb.addChild(lightbulbSocket); // FUNCTIONS lightswitch1.click = lightswitch1.tap = function(event) { game.audio.playSound('click'); if (event.target.currentFrame < 3) { event.target.gotoAndStop(event.target.currentFrame + 1); } else { event.target.gotoAndStop(0); } lightCheck(); } lightswitch2.click = lightswitch2.tap = function(event) { game.audio.playSound('click'); if (event.target.currentFrame < 3) { event.target.gotoAndStop(event.target.currentFrame + 1); } else { event.target.gotoAndStop(0); } lightCheck(); } lightswitch3.click = lightswitch3.tap = function(event) { game.audio.playSound('click'); if (event.target.currentFrame < 3) { event.target.gotoAndStop(event.target.currentFrame + 1); } else { event.target.gotoAndStop(0); } lightCheck(); } lightswitch4.click = lightswitch4.tap = function(event) { game.audio.playSound('click'); if (event.target.currentFrame < 3) { event.target.gotoAndStop(event.target.currentFrame + 1); } else { event.target.gotoAndStop(0); } lightCheck(); } lightCheck = function() { if (lightswitch1.currentFrame == 0 && lightswitch2.currentFrame == 1 && lightswitch3.currentFrame == 3 && lightswitch4.currentFrame == 2) { game.audio.playSound('harpPass'); lightswitch1.interactive = false; lightswitch1.buttonMode = false; lightswitch2.interactive = false; lightswitch2.buttonMode = false; lightswitch3.interactive = false; lightswitch3.buttonMode = false; lightswitch4.interactive = false; lightswitch4.buttonMode = false; game.scene.addTween(lightbulbHead2, {alpha:1}, 100, {delay:0}).start(); game.scene.addTween(lightbulbLight, {alpha:0.1}, 250, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbLight, {rotation:Math.PI * -2}, 4000, {delay:0}).repeat().start(); game.scene.addTween(worldFg2, {alpha:0}, 250, {delay:0}).start(); var lightbulbSquash = function() { game.scene.addTween(lightbulbEye1, {y:224*game.scale}, 100, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbEye2, {y:224*game.scale}, 100, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbEye1.scale, {x:1.5, y:0.2}, 100, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbEye2.scale, {x:1.5, y:0.2}, 100, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbMouth, {y:224*game.scale}, 100, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbMouth.scale, {x:1.25, y:0.2}, 100, {delay:0, easing:'Quadratic.Out', onComplete:lightbulbStretch}).start(); } var lightbulbStretch = function() { lightbulbMouth.setTexture('lightbulbMouth2.png'); game.scene.addTween(lightbulbEye1, {y:208*game.scale}, 200, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbEye2, {y:208*game.scale}, 200, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbEye1.scale, {x:1, y:1}, 200, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbEye2.scale, {x:1, y:1}, 200, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbMouth, {y:208*game.scale}, 200, {delay:0, easing:'Quadratic.Out'}).start(); game.scene.addTween(lightbulbMouth.scale, {x:1, y:1}, 200, {delay:0, easing:'Quadratic.Out', onComplete:nextStage}).start(); } lightbulbSquash(); } } nextStage = function() { fader.fadeOut(function() { game.system.setScene('Stage06'); }); } }});}); Quote Link to comment Share on other sites More sharing options...
enpu Posted February 3, 2015 Share Posted February 3, 2015 Hmm yes, if you are creating scene outside of your game "main" module, you must require 'engine.scene' module, to be sure it is loaded before yourmodules body is run. I know that's a bit confusing, i should fix that so that every game module would require all engine modules.. Ninjadoodle and SkyzohKey 2 Quote Link to comment Share on other sites More sharing options...
Ninjadoodle Posted February 3, 2015 Author Share Posted February 3, 2015 Hi @enpu Ok I see, I always separate my levels into modules and didn't know about this. I guess if things don't load in the correct order, it would cause a white screen/crash! Thanks heaps for explaining this! I will go and fix my levels now haha (pretty easy fix)! Quote Link to comment Share on other sites More sharing options...
enpu Posted February 4, 2015 Share Posted February 4, 2015 I just pushed changes to core, so that now every game module requires core module automatically (before it was only the main game module).So there is no need to require engine modules (like engine.scene) in your game modules anymore (because core module requires them). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.