Heppell08 Posted February 19, 2014 Share Posted February 19, 2014 Pretty simple question. I read in another post about splitting the game screen in 2 halves and having leftside move left and right move right. I have only half of this working because the screen doesn't split properly. I can walk right but not left.I also tried adding a onSwipe() function but keep getting activePointer undefined etc. I'm not sure if some stuff has changed in 1.1.5 for this kind of stuff as the posts I was reading were a bit dated.If anyone knows a way to do a simple left walk, right walk and jump with touch screen I'd be happy to see it.I do know that phaser creates the mouse pointer, pointer 1 (finger 1) and pointer 2 (finger 2) as standard and I read on multi touch.js in examples but that's not what I need.What I need is the fingers referenced in an area of screen to walk left and right and jump.Any help I'd be very thankful! Thanks Link to comment Share on other sites More sharing options...
Heppell08 Posted February 20, 2014 Author Share Posted February 20, 2014 Bump Link to comment Share on other sites More sharing options...
Telash Posted February 20, 2014 Share Posted February 20, 2014 If your character is always central to the world, can't you determine if the pointer x value is equal to or greater than the players x value and move him accordingly? Or am I over simplifying things? Link to comment Share on other sites More sharing options...
Heppell08 Posted February 20, 2014 Author Share Posted February 20, 2014 Over simplified haha. I just need 50% of left screen and 50% of right screen but the 'markers' for the touch onDown to make the player move. At the minute I've put in a button for making the player jump. It won't reference the player body within the button function but I got it working temporarily for testing. I just need the game to know the left of the screen and the right of the screen.(this.input.x/this.game.width/2) === LEFT;That's the jist of the other code I seen to use but I can only press the screen and walk right. BUT, in the left right vars they declare:Var RIGHT=0;Var LEFT=1;If I reverse them numbers the player walks only left and not right. Its got me totally confused and the only other thing I though about doing was making 2 rect areas and declaring them as buttons and doing it like that but I know the width stuff could possibly work.Its a case of either making alpha buttons and creating a D-Pad or making the 2 rect areas. Not sure at the minute lol.Thanks Link to comment Share on other sites More sharing options...
Heppell08 Posted February 20, 2014 Author Share Posted February 20, 2014 Any ideas? Or should I go for referencing the X differently on the game width? Literally willing to try most suggestions over having to make button.Thanks Link to comment Share on other sites More sharing options...
jcs Posted February 20, 2014 Share Posted February 20, 2014 the Nadion add-on/library has support for touch controls (it's primarily intended for side-scrollers so it supports left/right and 'action' and 'jump' buttons - but it would be trivial to remove the buttons you don't need). take a look at https://github.com/jcd-as/nadion/blob/master/src/controls.js for details. (disclaimer: yes, I wrote Nadion) Link to comment Share on other sites More sharing options...
Heppell08 Posted February 20, 2014 Author Share Posted February 20, 2014 the Nadion add-on/library has support for touch controls (it's primarily intended for side-scrollers so it supports left/right and 'action' and 'jump' buttons - but it would be trivial to remove the buttons you don't need). take a look at https://github.com/jcd-as/nadion/blob/master/src/controls.js for details. (disclaimer: yes, I wrote Nadion)Nice! Wish I'd came on and checked the forum before coding because that's basically what i need haha. I got it working eventually by mapping where the pointer will be in relation to the screen for a left and right part of the screen. Told the game world the if the pointer is pressed above a certain X value, that it does the movement for that part. Code: if(this.input.pointer1.x < 399 && this.input.pointer1.isDown) { player.body.velocity.x = leftWalk; } if(this.input.pointer1.x > 400 && this.input.pointer1.isDown) { player.body.velocity.x = rightWalk; } kriket 1 Link to comment Share on other sites More sharing options...
Recommended Posts