11
2- var game = new Phaser . Game ( 800 , 600 , Phaser . CANVAS , 'phaser-example' , { preload : preload , create : create , update : update , render : render } ) ;
3- // var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render });
2+ var game = new Phaser . Game ( 800 , 600 , Phaser . AUTO , 'phaser-example' , { preload : preload , create : create , update : update , render : render } ) ;
43
54function preload ( ) {
65
@@ -9,8 +8,10 @@ function preload() {
98}
109
1110var map ;
12- var tileset ;
1311var layer ;
12+
13+ var marker ;
14+ var currentTile = 0 ;
1415var cursors ;
1516
1617function create ( ) {
@@ -27,42 +28,86 @@ function create() {
2728 // Add a Tileset image to the map
2829 map . addTilesetImage ( 'ground_1x1' ) ;
2930
30- map . putTile ( 4 , 1 , 1 )
31- map . putTile ( 10 , 2 , 1 )
32- map . putTile ( 10 , 3 , 1 )
33- map . putTile ( 10 , 4 , 1 )
34-
3531 // Create a layer. This is where the map is rendered to.
3632 layer = map . createLayer ( 'level1' ) ;
3733
38- // layer.resizeWorld();
39- // map.setCollisionBetween(1, 12);
40- // layer.debug = true;
34+ // Resize the world
35+ layer . resizeWorld ( ) ;
36+
37+ // Create our tile selector at the top of the screen
38+ this . createTileSelector ( ) ;
39+
40+ game . input . setMoveCallback ( updateMarker , this ) ;
4141
4242 cursors = game . input . keyboard . createCursorKeys ( ) ;
4343
4444}
4545
46+ function pickTile ( sprite , pointer ) {
47+
48+ currentTile = game . math . snapToFloor ( pointer . x , 32 ) / 32 ;
49+
50+ }
51+
52+ function updateMarker ( ) {
53+
54+ marker . x = layer . getTileX ( game . input . activePointer . worldX ) * 32 ;
55+ marker . y = layer . getTileY ( game . input . activePointer . worldY ) * 32 ;
56+
57+ if ( game . input . mousePointer . isDown )
58+ {
59+ map . putTile ( currentTile , layer . getTileX ( marker . x ) , layer . getTileY ( marker . y ) )
60+ }
61+
62+ }
63+
4664function update ( ) {
4765
4866 if ( cursors . left . isDown )
4967 {
68+ game . camera . x -= 4 ;
5069 }
5170 else if ( cursors . right . isDown )
5271 {
72+ game . camera . x += 4 ;
5373 }
5474
5575 if ( cursors . up . isDown )
5676 {
77+ game . camera . y -= 4 ;
5778 }
5879 else if ( cursors . down . isDown )
5980 {
81+ game . camera . y += 4 ;
6082 }
6183
6284}
6385
6486function render ( ) {
6587
66- game . debug . cameraInfo ( game . camera , 32 , 32 ) ;
67-
6888}
89+
90+ function createTileSelector ( ) {
91+
92+ // Our tile selection window
93+ var tileSelector = game . add . group ( ) ;
94+
95+ var tileSelectorBackground = game . make . graphics ( ) ;
96+ tileSelectorBackground . beginFill ( 0x000000 , 0.5 ) ;
97+ tileSelectorBackground . drawRect ( 0 , 0 , 800 , 34 ) ;
98+ tileSelectorBackground . endFill ( ) ;
99+
100+ tileSelector . add ( tileSelectorBackground ) ;
101+
102+ var tileStrip = tileSelector . create ( 1 , 1 , 'ground_1x1' ) ;
103+ tileStrip . inputEnabled = true ;
104+ tileStrip . events . onInputDown . add ( pickTile , this ) ;
105+
106+ tileSelector . fixedToCamera = true ;
107+
108+ // Our painting marker
109+ marker = game . add . graphics ( ) ;
110+ marker . lineStyle ( 2 , 0x000000 , 1 ) ;
111+ marker . drawRect ( 0 , 0 , 32 , 32 ) ;
112+
113+ }
0 commit comments