Hi guys, still very new to GDScripting and this has me stumped. I have been working on the step by step pong tutorial; (http://docs.godotengine.org/en/2.1/learning/step_by_step/simple_2d_game.html)
I am hitting some dead ends. Can anyone help me where I'm going wrong, code to follow.
extends Node2D
var screensize
var padsize
const PADSPEED = 150
var ballspeed = 80
var ball_direction = Vector2(-1, 0)
func ready():
screensize = getviewportrect().size
padsize = getnode("left").gettexture().getsize()
set_process(true)
func process(delta):
var ballpos = getnode("ball").getpos()
var leftrect = Rect2( getnode("left").getpos() - padsize0.5, padsize )
var rightrect = Rect2( getnode("right").getpos() - pad_size0.5, pad_size )
# Flip when touching roof or floor
if ((ball_pos.y < 0 and direction.y < 0) or (ball_pos.y > screen_size.y and direction.y > 0)):
direction.y = -direction.y
if (( left_rect.has_point(ball_pos) and ball_direction.x < 0 ) or ( right_rect.has_point(ball_pos) and ball_direction.x > 0)):
ball_direction.x = -ball_direction.x
ball_speed *= 1.1
ball_direction.y = randf() * 2.0 -1
ball_direction = ball_direction.normalized()
if (ball_pos.x < 0 or ball_pos.x > screen_size.x):
ball_pos = screen_size * 0.5
ball_speed = 80
ball_direction = Vector2(-1,0)
get_node("ball").set_pos(ball_pos)
var left_pos = get_node("left").get_pos()
if (left_pos.y > 0 and Input.is_action_pressed("left_move_up")):
left_pos.y += - PAD_SPEED * delta
if (left_pos.y < screen_size.y and Input.is_action_pressed("left_move_down")):
left_pos.y += PAD_SPEED * delta
get_node("left").set_pos(left_pos)
var right_pos = get_node("right").get_pos()
if ( right_pos.y > 0 and Input.is_action_pressed("right_move_up")):
right_pos.y += - PAD_SPEED * delta
if ( right_pos.y < screen_size.y and Input.is_action_pressed("right_move_down")):
right_pos.y += PAD_SPEED * delta
get_node("right").set_pos(right_pos)