Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (290)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Movement issue with strafe  (Read 930 times)
0 Members and 1 Guest are viewing this topic.
Offline MickeyB

Senior Member




my game will work, my game will work!


« Posted 2004-11-10 13:36:52 »

Here is my code from CubeWars for player movement:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
      public void forward() {
            xpos -= (float) Math.sin(heading * CubeWars.piover180) * speed;
            zpos -= (float) Math.cos(heading * CubeWars.piover180) * speed;                  
      }
     
      public void reverse() {
            xpos += (float) Math.sin(heading * CubeWars.piover180) * speed;
            zpos += (float) Math.cos(heading * CubeWars.piover180) * speed;            
      }
     
      public void turnRight() {
            heading -= turn;
      }
     
      public void turnLeft() {
            heading += turn;
      }
     
      public void strafeRight() {;
            xpos += (float) Math.cos(heading * CubeWars.piover180) * speed;
            zpos -= (float) Math.sin(heading * CubeWars.piover180) * speed;                  
      }
     
      public void strafeLeft() {;
            xpos -= (float) Math.cos(heading * CubeWars.piover180) * speed;
            zpos += (float) Math.sin(heading * CubeWars.piover180) * speed;                  
      }


Looking for suggestions on what to change on strafing to not doulbe players speed. thanks!!!

MickeyB

Current Project: http://www22.brinkster.com/mbowles/
Offline Catharsis

Junior Member




EGR Software rocks!


« Reply #1 - Posted 2004-11-10 16:08:13 »

Quote

Looking for suggestions on what to change on strafing to not doulbe players speed. thanks!!!


Are you referring to when a player may be say moving forward and also straffing in a single update?  I solved this with Auriga3D by scaling the "speed" factor by a "half movement" value in these cases.


Founder & Principal Architect; EGR Software LLC
http://www.typhonrt.org/
http://www.egrsoftware.com/
Offline MickeyB

Senior Member




my game will work, my game will work!


« Reply #2 - Posted 2004-11-10 16:26:32 »

Yes when forward/backward and strafe in a single tick.

MickeyB

Current Project: http://www22.brinkster.com/mbowles/
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Catharsis

Junior Member




EGR Software rocks!


« Reply #3 - Posted 2004-11-10 19:20:23 »

Quote
Yes when forward/backward and strafe in a single tick.


Yeah.. I actually use a switch statement that works with a movement state that is created by bitwise ops |= and ^= based on the current key state.  This makes it quick and easy to detect when straffing and movement is occuring.  It also makes things easy in regard to cancelling movement when say strafeleft and straferight are held down simultaneosly.

You probably will want to make your movement functions accept a speed and depending on what your movement state is pass in the unmodified speed variable or a scaled value.

Founder & Principal Architect; EGR Software LLC
http://www.typhonrt.org/
http://www.egrsoftware.com/
Offline Orangy Tang

JGO Kernel


Medals: 48
Projects: 11


Monkey for a head


« Reply #4 - Posted 2004-11-10 21:56:06 »

I find it easier to:
- Process all the keystates, adding their effect into a resultant velocity/force.
- Normalise the force to length 1.
- Scale by your required speed.

Simple & works for anything you can throw at it. Sure you've got a square root in there, but you're only going to be doing it once every frame.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Browse for soundtracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (62 views)
2013-05-17 21:29:12

alaslipknot (71 views)
2013-05-16 21:24:48

gouessej (102 views)
2013-05-16 00:53:38

gouessej (99 views)
2013-05-16 00:17:58

theagentd (108 views)
2013-05-15 15:01:13

theagentd (98 views)
2013-05-15 15:00:54

StreetDoggy (144 views)
2013-05-14 15:56:26

kutucuk (167 views)
2013-05-12 17:10:36

kutucuk (166 views)
2013-05-12 15:36:09

UnluckyDevil (175 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.158 seconds with 20 queries.