Please help with bounding box/sprite collision in darkBASIC pro
Posted
by
user1601163
on Game Development
See other posts from Game Development
or by user1601163
Published on 2012-09-01T02:44:31Z
Indexed on
2012/09/01
3:50 UTC
Read the original article
Hit count: 437
2d
|bounding-boxes
So I just recently learned BASIC and figured I would try making a clone of pong on my own in darkBASIC pro, and I made everything else work just fine except for the part that makes the ball bounce off the paddle. And yes I'm aware that the game is not yet finished. The error is on lines 39-51 EVERYTHING IS 2D.
///////////////////////////////////////////////////////////
//
// Project: Pong
// Created: Friday, August 31, 2012
// Code: Brandon Spaulding
// Art: Brandon Spaulding
// Made in CIS lab at CPAVTS
// Pong art and code © Brandon Spaulding 2012-2013
//
//////////////////////////////////////////////////////////
y=150
x=0
ay=150
ax=612
ballx=300
bally=200
ballx_DIR=1
bally_DIR=1
hide mouse
set global collision on
//objectnumber=10
//make object box objectnumber,5,150,0
do
load image "media\paddle1.png",1
load image "media\paddle2.png",2
load image "media\ball.png",3
sprite 1,x,y,1
sprite 2,ax,ay,2
sprite 3,ballx,bally,3
if upkey()=1 then y = y - 4
if downkey()=1 then y = y + 4
//num_1 = sprite collision(1,0)
//num_2 = sprite collision(2,0)
num_3 = sprite collision(3,0)
for t=1 to 2
//ball&paddle collision
if num_3 > 0
if bally_DIR=1
bally_DIR=0
else
bally_DIR=1
endif
if ballx_DIR=0
ballx_DIR=1
else
ballx_DIR=0
endif
endif
//if bally > 1 and bally < 500 then bally=bally + 2.5
if bally_DIR=1
bally=bally-2.5
if bally<-2.5
bally_DIR=0
endif
else
bally=bally+2.5
if bally>452.5
bally_DIR=1
endif
endif
if ballx_DIR=1
ballx=ballx-2.5
if ballx<-2.5
ballx_DIR=0
endif
else
ballx=ballx+2.5
if ballx>612
ballx_DIR=1
endif
endif
//bally = bally + t
//if bally < 600 or bally > 1 then bally = bally - 2.5
//if ballx < 400 or ballx > 1 then ballx = ballx + 2.5
//move sprite 3,1
next t
if escapekey()=1 then exit
loop
end
Thank you in advance for the help.
© Game Development or respective owner