juego del arkanoid en vb 6

Iniciado por koopa2, 1 Agosto 2006, 22:40 PM

0 Miembros y 1 Visitante están viendo este tema.

koopa2

hola gente toy haciendo el juego de los ladrillos pero me trave en una parte , que es en la que tengo que hacer que la bola rebote en la plataforma , hice que rebote en las paredes pero o se como hacer que rebote en la plataforma , la pataforma se mueve.

bola se llama = bola
el cuadrado , bue paredes = shape1
plataforma = linea
timer= timer 1
---------------------------------------

    Dim xx As Integer
    Dim yy As Integer
    Dim x As Integer
    Dim y As Integer

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 97 And linea.Left > 240 Then
linea.Left = linea.Left - 300
End If
If KeyAscii = 100 And linea.Left < 9840 Then
linea.Left = linea.Left + 300
End If
If KeyAscii = 119 And linea.Top > 4560 Then
linea.Top = linea.Top - 300
End If
If keyaascii = 115 And linea.Top < 4620 Then
linea.Top = linea.Top + 300
End If
End Sub

Private Sub Form_Load()
    xx = 50
    yy = 35
   
End Sub

Private Sub KBRD_Timer()

End Sub

Private Sub Timer1_Timer()
    Dim i#
    For i = 0 To bola.Count - 1
        bola(i).Left = bola(i).Left + xx
        bola(i).Top = bola(i).Top + yy
    Next
    For i = 0 To bola.Count - 1
        If bola(i).Left < Shape1.Left Or bola(i).Left + bola(i).Width > Shape1.Left + Shape1.Width Then
            xx = -xx
        End If
    Next
    For i = 0 To bola.Count - 1
        If bola(i).Top < Shape1.Top Or bola(i).Top + bola(i).Height > Shape1.Top + Shape1.Height Then
            yy = -yy
        End If
    Next
   
End Sub




imagen :

Hendrix

tienes que hacer que kuando el top de la plataforma y el de la bola sean iguales rebote, pero ojo, tieens que calcular las medidas de la plataforma y kon eso kalkular el left de la plataforma.....

Te ago un eskema:

            <------------------->
            ----------------------
           |                           |
            ----------------------

Eso es la plataforma y la flecha de arriba es la longitud, peus tienes que hacer que si el left de la bola sea igual o inferior pero no inferior a la medida de la plataforma rebote.....mira, supongamos que la plataforma mide 200 y el left de la plataforma esta en 1200, pos tendria que ser: si el top de la bola = top de la plataforma y el left de la bola es igual o inferior a 1200 y igual o superior a 1000 (1200-200 = 1000) la bola rebote....no si se lo habras pillado, si kieres te lo vuelvo a explikar... ;) ;)

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

koopa2

hola Hendrix.  mira , no entendi mucho tu explicacion. me lo podrias explicar un poco mojor

saludos

Hendrix

Bueno, si no entendiste kon esa explikacion no se si te lo sabre explikar mejor... :-\ :-\ :-\

Vuelve a leertelo y sino ya mirare haber komo te lo expliko.... :-\ :-\

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Mad Antrax

No me gusta hacer este tipo de cosas, pero te doy el proyecto completo de mi arkanoid, es single-player y es lo más cutre que te puedas imaginar xD
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

-POLACO-

Lo que te dice Hendrix esta bien explicado aca e agrego un pequeño codigo viejo ,haber si lo entendes mejor:


If bola.Top < linea.Top + linea.Height And bola.Top > linea.Top - linea.Height And bola.Left > linea.Left And bola.Left < linea.Left + linea.Width Then
yy = -50'sale para arriba
xx = 35
End If


Razonalo parece complicado pero es simple .-.

bautistasbr


koopa2

hola gente , muchas gracias ya eh comprendido y pude hacerlo bien

saludoz