3ddy Posted December 16, 2015 Share Posted December 16, 2015 Hello,I have just began my adventure with states in Phaser (using Phaser for about a month). I have a problem that any custom function I add to my state is not defined (can't be used) however there is a definition of that function (was trying to put it in different places also). Here is my sample code: index.html<html> <head> <style type="text/css"> body{ background: #ffffff; padding:0px; margin:0px; } </style> <script src="phaser.min.js"></script> <script src="plugins/CanvasInput.min.js"></script> <!--<script src = "game.js"></script>--> <script src = "js/preload.js"></script> <script src ="js/intro.js"></script> </head> <body> <script type="text/javascript"> var game = new Phaser.Game(1920, 1080); game.state.add('Preload', MyGame.preload) game.state.add('Intro', MyGame.intro); game.state.add('Office', MyGame.office); game.state.start('Preload'); </script> </body></html>preload.jsvar MyGame = {};MyGame.preload = function (game) { };MyGame.preload.prototype = { preload: function () { game.load.image('loadingBackground', 'BG/start.jpg'); game.load.image('officeBackground', 'BG/szukaj_warstwa_1.jpg'); game.load.atlasJSONHash('aml_1', 'aml_1.png', 'aml_1.json'); }, create: function () { //goFullScreen(); this.state.start('Intro'); }, };intro.jsMyGame.intro = function (game) { this.background; this.character;};MyGame.intro.prototype = { create: function () { this.background = this.add.sprite(0, 0, 'loadingBackground'); this.character = game.add.sprite(game.world.centerX, game.world.centerY, 'aml_1', 'aml_avatar_hindus.jpg'); var left = game.add.sprite(game.world.centerX-232, game.world.centerY - 200, 'aml_1', 'strzalka_lewo.png'); var right = game.add.sprite(game.world.centerX+200, game.world.centerY - 200, 'aml_1', 'strzalka_prawo.png'); this.character.anchor.setTo(0.5,0.5); var startBtn = game.add.sprite(game.world.centerX, game.world.centerY+300, 'aml_1', 'play.png'); startBtn.anchor.set(0.5); startBtn.inputEnabled = true; startBtn.events.onInputDown.add(startClicked, this); game.scale.pageAlignHorizontally = true; game.scale.pageAlignVertically = true; // using RESIZE scale mode game.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; game.scale.setScreenSize(true); }, startClicked: function() { this.state.start('Office'); } };Error that i get when running:"Uncaught ReferenceError: startClicked is not defined" in line startBtn.events.onInputDown.add(startClicked, this); of intro.jsAre there some other basic errors that make my code not working? Any help would be appreciated. Link to comment Share on other sites More sharing options...
rich Posted December 16, 2015 Share Posted December 16, 2015 should be:startBtn.events.onInputDown.add(this.startClicked, this); 3ddy 1 Link to comment Share on other sites More sharing options...
3ddy Posted December 16, 2015 Author Share Posted December 16, 2015 I thought it will be something easy missing... Thank you so much! Link to comment Share on other sites More sharing options...
Recommended Posts