NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Poprzedni temat :: Następny temat
[MMF2] Sprawdzanie odległości, wyrównanie do siatki
Autor Wiadomość
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 14:56   [MMF2] Sprawdzanie odległości, wyrównanie do siatki

Ustawiam kratkę na 16x16 px. W każdą kratkę wstawiam jeden obiekt 16x16 px. I wszystko działa, póki nie uruchomię aplikacjii... program pokazuje jedynie fragment wszystkich elementów oraz ignoruje zdarzenia...

Teraz pytanie:

Jak zrobić aby kiedy gracz kliknął na dany obszar obiekt utworzy mu się w kratce a nie zaraz koło myszy?

2:
Jak zrobić aby zdarzenie mogło się odbyć tylko wtedy gdy jeden obiekt jest w mniejszej odległości niż ileśtam px.
_________________
Była lekka 4 letnia przerwa od klików :I
Ostatnio zmieniony przez Aleks 30-05-2011, 16:21, w całości zmieniany 2 razy  
 
     
Aleks 
Moderator
Wilczek


Główny edytor: GDevelop
Skype:
Pomógł: 78 razy
Posty: 636

28588 Prestiż
Wysłany: 30-05-2011, 15:13   


Kod:
XMouse/16*16
YMouse/16*16
 
     
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 15:21   

Do którego to jest? Zadałem 2 pytania :/
_________________
Była lekka 4 letnia przerwa od klików :I
 
     
Wackyjackie 
Bohater
Starszy Chorąży Sztabowy Randomu


Główny edytor: MMF2 Dev
Drugi edytor: Stencyl
Pojedynki: nie
Pomógł: 69 razy
Posty: 717

36331 Prestiż
Wysłany: 30-05-2011, 16:05   

1. Patrz Aleks. Domyśl się jak skorzystać.
2. Advanced Direction Object. Najłatiwiej.
_________________
 
 
     
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 17:07   

Fajnie... Może byś pomógł, skoro wiesz jak rozwiązać 2 problem?
_________________
Była lekka 4 letnia przerwa od klików :I
 
     
Wackyjackie 
Bohater
Starszy Chorąży Sztabowy Randomu


Główny edytor: MMF2 Dev
Drugi edytor: Stencyl
Pojedynki: nie
Pomógł: 69 razy
Posty: 717

36331 Prestiż
Wysłany: 30-05-2011, 17:30   

Nie wymaga to przecież żadnej finezji i większego pomyślunku. http://i51.tinypic.com/15i9pwo.png
A nawet masz przykłady w katalogu MMFa! That's right!
_________________
 
 
     
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 17:49   

Daj przykład zdarzenia...
_________________
Była lekka 4 letnia przerwa od klików :I
 
     
Aleks 
Moderator
Wilczek


Główny edytor: GDevelop
Skype:
Pomógł: 78 razy
Posty: 636

28588 Prestiż
Wysłany: 30-05-2011, 18:01   


Kod:
Sqr((Abs(X( "Active" )-X( "Active 2" )))*(Abs(X( "Active" )-X( "Active 2" )))+Abs((Y( "Active" )-Y( "Active 2" )))*Abs((Y( "Active" )-Y( "Active 2" ))))

Nie ma przykładów.
 
     
Fadex 
Legenda
#4; #12; #18; #20; #21; #27


Główny edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 105 razy
Posty: 1773

51612 Prestiż
Wysłany: 30-05-2011, 19:09   

Aleks napisał/a:

Kod:
Sqr((Abs(X( Active )-X( Active 2 )))*(Abs(X( Active )-X( Active 2 )))+Abs((Y( Active )-Y( Active 2 )))*Abs((Y( Active )-Y( Active 2 ))))

Nie ma przykładów.

Po co te Abs()? Zupełnie zbędne, tylko wydłużają wyrażenie.
_________________
If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat
 
 
     
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 19:12   

Wpisałem i co z tego? Nic nie daje...
_________________
Była lekka 4 letnia przerwa od klików :I
 
     
Fadex 
Legenda
#4; #12; #18; #20; #21; #27


Główny edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 105 razy
Posty: 1773

51612 Prestiż
Wysłany: 30-05-2011, 19:29   

To jest wzór na odległość między dwoma obiektami, więc...

(a dokładniej:)

Kod:
Sqr((X( "Active" )-X( "Active 2" ))*(X( "Active" )-X( "Active 2" ))+(Y( "Active" )-Y( "Active 2" ))*(Y( "Active" )-Y( "Active 2" )))


Zależy to też od obiektów, między którymi dystans porównujesz. Jeśli jest ich więcej niż po jeden z każdego rodzaju - to nieco bardziej skomplikowane.
_________________
If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat
 
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3446

33789 Prestiż
Wysłany: 30-05-2011, 19:37   

Fadex napisał/a:
Po co te Abs()? Zupełnie zbędne, tylko wydłużają wyrażenie.

Po co w ogóle? Advanced Direction Object robi to znacznie, znacznie szybciej.

tracersgta, musisz zrobić nierówność z policzoną odległością między obiektami po jednej stronie, a odległością pożądaną (stałą) po drugiej.

Naucz się myśleć. Jak można nie wpaść na to, że wyrażenie "XMouse/16*16" odnosi się do problemu z myszą? Pewnie nawet tego nie przeczytałeś :P
 
     
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 19:52   

Nic z tego nie zrozumiałem :P
_________________
Była lekka 4 letnia przerwa od klików :I
 
     
Aleks 
Moderator
Wilczek


Główny edytor: GDevelop
Skype:
Pomógł: 78 razy
Posty: 636

28588 Prestiż
Wysłany: 30-05-2011, 20:22   

Człowieku wkurzasz mnie

Distance( "Advanced Direction Object", X1, Y1, X2, Y2)


X1 pierwszy obiekt
X2 drugi obiekt

1
+ Distance( Advanced Direction Object, X1, Y1, X2, Y2) < 100
• zrób coś (strzel sobie w łeb)


W ogóle piszesz jak potłuczony
tracersgta napisał/a:
odległość niż ileśtam px.


według czego? obiektom? co chcesz zrobić?
Ostatnio zmieniony przez Minty 30-05-2011, 20:45, w całości zmieniany 1 raz  
 
     
tracersgta 
Starszy sierżant
Po przerwie :I


Główny edytor: Fusion 2.5
Pojedynki: być może
Pomógł: 7 razy
Posty: 204

2910 Prestiż
Wysłany: 30-05-2011, 20:36   

Aleks napisał/a:
W ogóle piszesz jak potłuczony


I kto to mówi :/


Chcę: Jest obiekt X i obiekt Y. Obiekt X to nasz bohater, a Y to podłoże. Bohater umie niszczyć podłoże ale tylko gdy jest w odległości mniejszej niż 96 pikseli... I pytanie... Jak zrobić aby obiekt Y został zniszczony po naciśnięciu na niego myszą, tylko gdy obiekt X jest w odległości mniejszej lub równej 96 pikseli... jasne?
_________________
Była lekka 4 letnia przerwa od klików :I
 
     
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group