5 Handy Things
to know about
5 Handy Things
Simiancraft
Nice Hat
Aye Yourself
So tell me about
info@
simiancraft
.com
info@
simiancraft
.com
HIRE ME
React
React-Native
Data Viz
Mobile Apps
CI
Whizbang in your browser
Signal
Overgrowth
GRIFFIN
1
1
Use Tiled
Export as JSON !!
2
2
Use
Tile-Extruder
npm install --global tile-extruder
tile-extruder --tileWidth 8 --tileHeight 16 --input ./in-tileset.png --output ./out-extruded.png
3
3
Use
A Texture Packer
$39.99
FREE
4
Animation
As a State Machine +
Command Pattern
4
if (this.cursors.left.isDown) {
this.body.velocity.x = -this.walking_speed;
} else if (this.cursors.right.isDown) {
this.body.velocity.x = this.walking_speed;
} else {
this.body.velocity.x = 0;
}
if (this.cursors.up.isDown && !this.is_jumping) {
this.body.velocity.y = -this.jumping_speed;
this.is_jumping = true;
}
if (
this.game_state.input.keyboard.isDown(Phaser.Keyboard.SPACEBAR)
&& !this.is_jumping
) {
this.use();
}
Common-ish Player Control Code
(hard to predict results)
this.animations.add('walking', [1,2,3,4,5,6,7,8,9,10,11,12], 30, true);
this.animations.add('walking_to_sitting', [13,14,15,16,17,18,19], 40, false);
this.animations.add('sitting', [21,22,23,24,25,26], 35, true);
this.animations.add('sitting_to_walking', [19,18,17,16,15,14,13], 40, false);
this.animations.add('sitting_to_laying', [88,89,90,91,92,93,94,95,97,97,97,97], 40, false);
// walking
this.sm.transition('walking_to_sitting', 'walking', 'sitting', function(){
return ( !game.input.keyboard.isDown(Phaser.Keyboard.RIGHT) );
});
this.sm.transition('sitting_to_walking', 'sitting', 'walking', function(){
return ( game.input.keyboard.isDown(Phaser.Keyboard.RIGHT) );
});
this.sm = new StateMachine( this, { debug: false } );
var self = this;
this.sm.state('sitting', {
enter: function(){ },
update: function(){ },
exit: function(){ }
});
//etc
5
Use
Create-Phaser-App
5
Webpack 4
Babel 7+
Es6 Support
Prettier Style
Bundle Analysis
Browsersync
Complexity Analysis