diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2015-11-21 16:13:43 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2015-12-09 08:39:12 +0100 |
commit | 7589b2bf605b58fbb0e34dec8ae833708e9b54ea (patch) | |
tree | 6c6b6515be9d121127f738a586fd95299ca7018a /demos/2d/kinematic_char | |
parent | 323dde7f3164477b3d51fda8352d8b37a19f7f9d (diff) |
Improve code formatting
The scripts were streamlined using more or less the following conventions:
- space after a comma in lists of arguments
- spaces around weak operators (+, -), no spaces around strong operators (*, /)
- spaces around comparison operators and compound assignment operators
- space after a comment start (#)
- removed trailing spaces or tabs, apart from those that delimit the function indentation level (those could be removed too but since they are added automatically by the editor when typing code, keeping them for now)
- function blocks separate by two newlines
- comment sentences start with an upper-case letter
Diffstat (limited to 'demos/2d/kinematic_char')
-rw-r--r-- | demos/2d/kinematic_char/colworld.gd | 16 | ||||
-rw-r--r-- | demos/2d/kinematic_char/engine.cfg | 2 | ||||
-rw-r--r-- | demos/2d/kinematic_char/player.gd | 167 |
3 files changed, 81 insertions, 104 deletions
diff --git a/demos/2d/kinematic_char/colworld.gd b/demos/2d/kinematic_char/colworld.gd index fe2dc30bb6..7926ef9d54 100644 --- a/demos/2d/kinematic_char/colworld.gd +++ b/demos/2d/kinematic_char/colworld.gd @@ -1,18 +1,8 @@ extends Node2D -#member variables here, example: -#var a=2 -#var b="textvar" -func _ready(): - #Initalization here - pass - - - - -func _on_princess_body_enter( body ): - #the name of this editor-generated callback is unfortunate - if (body.get_name()=="player"): +func _on_princess_body_enter(body): + # The name of this editor-generated callback is unfortunate + if (body.get_name() == "player"): get_node("youwin").show() diff --git a/demos/2d/kinematic_char/engine.cfg b/demos/2d/kinematic_char/engine.cfg index 4ce8f836ae..8bdd5e2fc5 100644 --- a/demos/2d/kinematic_char/engine.cfg +++ b/demos/2d/kinematic_char/engine.cfg @@ -1,6 +1,6 @@ [application] -name="Kinematic Collision" +name="Kinematic Character" main_scene="res://colworld.scn" icon="res://icon.png" diff --git a/demos/2d/kinematic_char/player.gd b/demos/2d/kinematic_char/player.gd index 329382408b..a5c64a303a 100644 --- a/demos/2d/kinematic_char/player.gd +++ b/demos/2d/kinematic_char/player.gd @@ -1,137 +1,124 @@ extends KinematicBody2D -#This is a simple collision demo showing how -#the kinematic cotroller works. -#move() will allow to move the node, and will -#always move it to a non-colliding spot, -#as long as it starts from a non-colliding spot too. +# This is a simple collision demo showing how +# the kinematic controller works. +# move() will allow to move the node, and will +# always move it to a non-colliding spot, +# as long as it starts from a non-colliding spot too. +# Member variables +const GRAVITY = 500.0 # Pixels/second -#pixels / second -const GRAVITY = 500.0 - -#Angle in degrees towards either side that the player can -#consider "floor". +# Angle in degrees towards either side that the player can consider "floor" const FLOOR_ANGLE_TOLERANCE = 40 const WALK_FORCE = 600 -const WALK_MIN_SPEED=10 +const WALK_MIN_SPEED = 10 const WALK_MAX_SPEED = 200 const STOP_FORCE = 1300 const JUMP_SPEED = 200 -const JUMP_MAX_AIRBORNE_TIME=0.2 +const JUMP_MAX_AIRBORNE_TIME = 0.2 -const SLIDE_STOP_VELOCITY=1.0 #one pixel per second -const SLIDE_STOP_MIN_TRAVEL=1.0 #one pixel +const SLIDE_STOP_VELOCITY = 1.0 # One pixel per second +const SLIDE_STOP_MIN_TRAVEL = 1.0 # One pixel var velocity = Vector2() -var on_air_time=100 -var jumping=false +var on_air_time = 100 +var jumping = false -var prev_jump_pressed=false +var prev_jump_pressed = false -func _fixed_process(delta): - #create forces - var force = Vector2(0,GRAVITY) +func _fixed_process(delta): + # Create forces + var force = Vector2(0, GRAVITY) var walk_left = Input.is_action_pressed("move_left") var walk_right = Input.is_action_pressed("move_right") var jump = Input.is_action_pressed("jump") - - var stop=true + + var stop = true if (walk_left): - if (velocity.x<=WALK_MIN_SPEED and velocity.x > -WALK_MAX_SPEED): - force.x-=WALK_FORCE - stop=false - + if (velocity.x <= WALK_MIN_SPEED and velocity.x > -WALK_MAX_SPEED): + force.x -= WALK_FORCE + stop = false elif (walk_right): - if (velocity.x>=-WALK_MIN_SPEED and velocity.x < WALK_MAX_SPEED): - force.x+=WALK_FORCE - stop=false + if (velocity.x >= -WALK_MIN_SPEED and velocity.x < WALK_MAX_SPEED): + force.x += WALK_FORCE + stop = false if (stop): var vsign = sign(velocity.x) var vlen = abs(velocity.x) - vlen -= STOP_FORCE * delta - if (vlen<0): - vlen=0 - - velocity.x=vlen*vsign + vlen -= STOP_FORCE*delta + if (vlen < 0): + vlen = 0 - - - #integrate forces to velocity - velocity += force * delta + velocity.x = vlen*vsign - #integrate velocity into motion and move - var motion = velocity * delta - - #move and consume motion + # Integrate forces to velocity + velocity += force*delta + + # Integrate velocity into motion and move + var motion = velocity*delta + + # Move and consume motion motion = move(motion) - - - var floor_velocity=Vector2() - + + var floor_velocity = Vector2() + if (is_colliding()): - # you can check which tile was collision against with this + # You can check which tile was collision against with this # print(get_collider_metadata()) - - #ran against something, is it the floor? get normal + + # Ran against something, is it the floor? Get normal var n = get_collision_normal() - - if ( rad2deg(acos(n.dot( Vector2(0,-1)))) < FLOOR_ANGLE_TOLERANCE ): - #if angle to the "up" vectors is < angle tolerance - #char is on floor - on_air_time=0 - floor_velocity=get_collider_velocity() - - - if (on_air_time==0 and force.x==0 and get_travel().length() < SLIDE_STOP_MIN_TRAVEL and abs(velocity.x) < SLIDE_STOP_VELOCITY and get_collider_velocity()==Vector2()): - #Since this formula will always slide the character around, - #a special case must be considered to to stop it from moving - #if standing on an inclined floor. Conditions are: - # 1) Standing on floor (on_air_time==0) + + if (rad2deg(acos(n.dot(Vector2(0, -1)))) < FLOOR_ANGLE_TOLERANCE): + # If angle to the "up" vectors is < angle tolerance + # char is on floor + on_air_time = 0 + floor_velocity = get_collider_velocity() + + if (on_air_time == 0 and force.x == 0 and get_travel().length() < SLIDE_STOP_MIN_TRAVEL and abs(velocity.x) < SLIDE_STOP_VELOCITY and get_collider_velocity() == Vector2()): + # Since this formula will always slide the character around, + # a special case must be considered to to stop it from moving + # if standing on an inclined floor. Conditions are: + # 1) Standing on floor (on_air_time == 0) # 2) Did not move more than one pixel (get_travel().length() < SLIDE_STOP_MIN_TRAVEL) # 3) Not moving horizontally (abs(velocity.x) < SLIDE_STOP_VELOCITY) # 4) Collider is not moving - + revert_motion() - velocity.y=0.0 - + velocity.y = 0.0 else: - #For every other case of motion,our motion was interrupted. - #Try to complete the motion by "sliding" - #by the normal - + # For every other case of motion, our motion was interrupted. + # Try to complete the motion by "sliding" by the normal motion = n.slide(motion) - velocity = n.slide(velocity) - #then move again + velocity = n.slide(velocity) + # Then move again move(motion) - - if (floor_velocity!=Vector2()): - #if floor moves, move with floor + + if (floor_velocity != Vector2()): + # If floor moves, move with floor move(floor_velocity*delta) - - if (jumping and velocity.y>0): - #if falling, no longer jumping - jumping=false - - if (on_air_time<JUMP_MAX_AIRBORNE_TIME and jump and not prev_jump_pressed and not jumping): - # Jump must also be allowed to happen if the - # character left the floor a little bit ago. + + if (jumping and velocity.y > 0): + # If falling, no longer jumping + jumping = false + + if (on_air_time < JUMP_MAX_AIRBORNE_TIME and jump and not prev_jump_pressed and not jumping): + # Jump must also be allowed to happen if the character left the floor a little bit ago. # Makes controls more snappy. - velocity.y=-JUMP_SPEED - jumping=true - - on_air_time+=delta - prev_jump_pressed=jump + velocity.y = -JUMP_SPEED + jumping = true + + on_air_time += delta + prev_jump_pressed = jump + func _ready(): #Initalization here set_fixed_process(true) - pass - - |