Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: GRAfika
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004
GRAfika

Mam problem robie gre mechanizm chodzenia już mam tylko teraz chce wiedzieć ja zrobić zeby np.po kliknięciu czegoś rysunek w image1 zmienial się na inny. Drugi problem to jest  taki jak wykryć kolizje między dwoma imagesami ??

16-03-2004 12:02
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

dobra z jednym już sobie poradziłem tylko teraz pytanie o kolizje proszę o szybką odpowiedź !!

16-03-2004 12:20
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Jak sie Tobie nawet nie chce zajrzeć do działu workshop przed zadaniem pytania to sie nie dziw że nikt Ci nie odpowiada!


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

16-03-2004 16:09
Pokaż profil m-a-x  Wyślij email do m-a-x   
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

zaglądałem ale niezrozumiaełem

16-03-2004 17:20
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Ja napisałem prostą i zrozumiałą funkcję do kolidowania. Nie raz ja używałem i zawsze niezawodna:
Umieść to w module

Function Koliduje(Obiekt As Object, KolidujeZ As Object) As Boolean
If Obiekt.Top + Obiekt.Height >= KolidujeZ.Top Or Obiekt.Top >= KolidujeZ.Top Then
If Obiekt.Top < KolidujeZ.Top + KolidujeZ.Height Then
If Obiekt.Left + Obiekt.Width >= KolidujeZ.Left Or Obiekt.Left >= KolidujeZ.Left Then
If Obiekt.Left < KolidujeZ.Left + KolidujeZ.Width Then
Koliduje = True
Else
Koliduje = False
End If
Else
Koliduje = False
End If
Else
Koliduje = False
End If
Else
Koliduje = False
End If
End Function


... i już teraz w formie:

if koliduje(image1,image2)=true then msgbox "BUM"


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

16-03-2004 20:47
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

dzięki wielkie

17-03-2004 12:21
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002


Ja napisałem prostą i zrozumiałą funkcję do kolidowania. Nie raz ja używałem i zawsze niezawodna:
Umieść to w module

Function Koliduje(Obiekt As Object, KolidujeZ As Object) As Boolean
If Obiekt.Top + Obiekt.Height >= KolidujeZ.Top Or Obiekt.Top >= KolidujeZ.Top Then
If Obiekt.Top < KolidujeZ.Top + KolidujeZ.Height Then
If Obiekt.Left + Obiekt.Width >= KolidujeZ.Left Or Obiekt.Left >= KolidujeZ.Left Then
If Obiekt.Left < KolidujeZ.Left + KolidujeZ.Width Then
Koliduje = True
Else
Koliduje = False
End If
Else
Koliduje = False
End If
Else
Koliduje = False
End If
Else
Koliduje = False
End If
End Function


... i już teraz w formie:

if koliduje(image1,image2)=true then msgbox "BUM"


Wydaje mi się że w przykładzie w dziale workshop moja funkcja jest nawet krótsza:
Public Function Kolizja(Objekt1 As Object, Objekt2 As Object) As Boolean          'A oto funkcja która zwraca wartość true jeśli wykryto kolizje
If Not Objekt1.Height = Objekt1.Width Then Objekt1.Height = Objekt1.Width
If Not Objekt2.Height = Objekt2.Width Then Objekt2.Height = Objekt2.Width

If (Objekt1.Left > Objekt2.Left - Objekt1.Width) Then
If (Objekt1.Left < Objekt2.Left + (Objekt2.Width)) Then
If (Objekt1.Top > Objekt2.Top - Objekt1.Height) Then
If (Objekt1.Top < Objekt2.Top + (Objekt2.Height)) Then
Kolizja = True
End If
End If
End If
End If

End Function
Pierwsze dwie linijki na początku można usunąć.


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

17-03-2004 15:59
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

ok


mam  jeszcze jedno pytanko jak zrobi żeby pewoien rysunek sam się przesuwał po określonej trasie lub jakoś zwyczjniej

17-03-2004 16:01
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

już sobie poradziłem!!!

17-03-2004 18:09
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

To Chudy: "Raczej moja funkcja prawie niczym się nie różni od Twojej "


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

17-03-2004 18:16
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

jeszcze jedno pytanko jak zrobić zeby grafika poruszała się po danej trasie np. kwadrat lub ... gwiazda proszę o szybką odpowiedź
Dziękuje i pozdarwiam Ciocie Henie

18-03-2004 16:00
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Mi udało się zrobić, aby obiekt poruszał się w stronę innego obiektu. Oto ten przykład:

'Przykład kota i myszy. Niestety im kot jest
'bliżej myszy, tym wolniej się porusza

Dim Roznicay, Roznicax As Integer

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case 37:
shpMysz.Left = shpMysz.Left - 120
Case 39:
shpMysz.Left = shpMysz.Left + 120
Case 38:
shpMysz.Top = shpMysz.Top - 120
Case 40:
shpMysz.Top = shpMysz.Top + 120
End Select
End Sub

Private Sub Form_Load()
Roznicay = shpMysz.Top - shpKot.Top
Roznicax = shpMysz.Left - shpKot.Left
End Sub

Private Sub Timer1_Timer()
shpKot.Top = shpKot.Top - -(Roznicay) / 120
shpKot.Left = shpKot.Left - -(Roznicax) / 120
Roznicay = shpMysz.Top - shpKot.Top
Roznicax = shpMysz.Left - shpKot.Left
End Sub



_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

19-03-2004 13:10
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
..::DEMON::..




Typ: neutral
Postów: 28
Zarejestrowany: Jan 2004

moze się przydać dzięki
czekam na dalsze propozycje

19-03-2004 14:05
Pokaż profil ..::DEMON::..  Wyślij email do ..::DEMON::..   
Wszystkich odpowiedzi: 12 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1