Ping Pong : problemer med bolden !

Tags:    visual-basic

Hejsa!!!!

Jeg er lig ved at lave et ping pong spil for sjov, men desværre er jeg stødt på et problem mvh. til bolden. Jeg har lavet den via shape, men jeg vil gerne have at den skal opføre sig normalt i en picturebox, atlså sådan at den ramme væggene. Hvordan gør jeg det?????? Håber at I kan hjælpe mig!!! På forhånd mange tak

Hilsen ONe



Indlæg senest redigeret d. 30.03.2006 20:14 af Bruger #8635
7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Opret tre timere
Kald dem tmrLeft, tmrTop og tmrDirection
Opret firkantet shape. Kald den shpBox.
Opret en circle shape. Kald den shpBall.

Add koderne

Fold kodeboks ind/udKode 



Håber det kan bruges.

Hilsen Morten



Normalt vil man gøre det således (bær over med mig, hvis ikke koden passer, jeg kan ikke et ord VB, men det her er standard):

Det er lige meget om du har en picturebox eller en shape, det der er vigtigt er at du har nogle attributter på din shape (i en class) dem du skal have er x-pos, y-pos, x-speed, y-speed. Det vil sige at hver gang du tegner din form (onPaint event) skal du gøre følgende:

Sub OnPaint
if boldens x-pos er mindre end venstre kant
begin
x-speed = x-speed * -1;
end

if boldens y-pos er mindre end top kant
begin
y-speed = y-speed * -1;
end

'det samme skal gøres vor højre side og i bunden


tegn bolden koordinat (x-pos, y-pos)
' læg farten til positionen
x-pos += x-speed
y-pos += y-speed



Mange tak Morten :D Det hjælp meget, men jeg er igen stødt på et andet problem :(, hvordan får jeg bolden til at ramme de to spilleblok som jeg har på shpBox ?????

Mvh. ONe





Tilføj dette øverst i kodeboksen.
Kald battet til venstre for shpPing eller ændre lidt i koden for at få det til at passe dit projekt.

Fold kodeboks ind/udKode 


Slet alt i tmrDirection og indsæt dette istedet

Fold kodeboks ind/udKode 


Har desværre ikke haft tid til at lave en til battet i højre side. Men det kan du prøve selv at arbejde lidt med.

PS: Placér battet lige uden for shpBox eller juster CheckPingOver.







Indlæg senest redigeret d. 03.04.2006 16:54 af Bruger #8635
Har du fået det til at virke?
Og hvorfor har du slettet teksten i forrige svar?

Vil stadig gerne have pointene hvis det er! :P



Indlæg senest redigeret d. 01.07.2006 23:57 af Bruger #1927
Har du fået det til at virke?
Og hvorfor har du slettet teksten i forrige svar?

Vil stadig gerne have pointene hvis det er! :P


:/ Og så giver du dig selv 100! :/



Indlæg senest redigeret d. 14.01.2007 16:39 af Bruger #1927
t