d0nkeykong Posted November 11, 2014 Share Posted November 11, 2014 Hi all. I'm new to Phaser and although I appreciate the game.add methods, I cannot find any information on making instances and adding them to my game.Can anyone point me in the right direction? Using the sound class as an example, I have tried the following but it does not work:bgMusic = new Phaser.Sound(game, 'intro-music', 1, true);bgMusic.play();But this doesbgMusic = game.add.audio('intro-music');bgMusic.play();Also the fadeOut method does not work on the latter for some reason? Thanks in advance. Link to comment Share on other sites More sharing options...
rich Posted November 11, 2014 Share Posted November 11, 2014 Audio should be created via the SoundManager. game.sound.add would create a new Sound object, add it to th SoundManager and return a reference to it. If you absolutely must create it outside of the SoundManager then it needs adding to the SoundManagers private _sounds array before it can be played:game.sound._sounds.push(bgMusic);Otherwise it won't get updated by the main loop, be able to pause, fade, etc. The GameObjectFactory (game.add) often does a lot more than just simple object creation. While it's possible to circumvent it entirely there's no good reason I can think of to do so. Link to comment Share on other sites More sharing options...
d0nkeykong Posted November 11, 2014 Author Share Posted November 11, 2014 Thanks for the reply rich. It makes sense when it is explained so I will continue to use the add methods. It just takes some getting used to In other frameworks, I am used to making an instance, setting properties and then adding it to the canvas / stage etc. I cannot get the Sound.fade methods to work but I have added another post to cover this. Link to comment Share on other sites More sharing options...
rich Posted November 13, 2014 Share Posted November 13, 2014 Yeah I can see how it's different to other frameworks. But if I can do it in a single call, I will BTW the difference between game.add.sprite (or add.whatever) is that it adds it to the display list immediately. If you just want to create something for use later on then game.make.sprite is your friend. Link to comment Share on other sites More sharing options...
Recommended Posts