NukeBoards

Pomoc - [Fusion] Jak zrobić aby postać poszła tam gdzie klikniemy?

Frandzelek - 01-08-2017, 23:35
: Temat postu: [Fusion] Jak zrobić aby postać poszła tam gdzie klikniemy?
Tak jak w temacie.
Jak zrobić żeby postać poszła tam gdzie klikniemy myszką?
Tak jak w grach typu Dota 2, League of Legends, Drakensang etc.
Malin - 01-08-2017, 23:42
:
http://www.castles-of-bri...lickexample.mfa
Frandzelek - 01-08-2017, 23:45
:
Malin napisał/a:
http://www.castles-of-britain.com/pointandclickexample.mfa

Dzięki wielkie koleś :D

Wiesz może jeszcze jak zmienić prędkość naszej postaci?
Ustawienie jego Movement'u na np, Eigh Directions lub Platform, i zwiększenie mu tam speed'a nie działa.
wermi - 03-08-2017, 01:01
:
zgaduję że przykład jest oparty na własnym ruchu, dlatego prędkość będziesz musiał zmienić w zdarzeniach (zmiana prędkości wbudowanego ruchu nic nie da). Możliwe też, że obiekt ma zmienną z maksymalną prędkością, wtedy możesz ją zmienić bez potrzeby grzebania w kodzie.
msg - 03-08-2017, 07:40
:
Musisz zmienić ten parametr w klikodzie: http://i.imgur.com/zNv9Ogg.png Niestety bazując na tym przykładzie nie da się w prosty sposób zmniejszyć szybkości tego ruchu (a przynajmniej mi nic prostego nie przychodzi do głowy).
Minty - 03-08-2017, 10:04
:
msg napisał/a:
Niestety bazując na tym przykładzie nie da się w prosty sposób zmniejszyć szybkości tego ruchu (a przynajmniej mi nic prostego nie przychodzi do głowy).

Jeśli dobrze wszystko zrozumiałam, "1" to ta prędkość, to trzeba to zmienić na Floor(ruchx) gdzie "ruchx" to jakaś zmienna czy licznik ("ruchy" dla prędkości na osi Y). Pod tym wszystkim nowe zdarzenie:
1
+ Always
EZ-Special Set ruchx to ruchx mod 1
EZ-Special Add 0.3 to ruchx
// 0.3 to nowa prędkość na osi x

W ten sposób co cykl dodawany jest ułamek piksela do bufora, a gdy bufor >1, to pozycja jest zmieniana o jego całkowity element, a bufor o ten element zmniejszany. To działa dla każdej prędkości, 0.3 czy 30.
jarlfenrir - 03-08-2017, 12:51
:
Sne napisał/a:

1
+ Always
EZ-Special Set ruchx to ruchx mod 1
EZ-Special Add 0.3 to ruchx
// 0.3 to nowa prędkość na osi x


Na pewno dobrze to opisałaś? Nie powinno być raczej:

1
+ Always
EZ-Special Set X to ruchx
EZ-Special Add 0.3 to ruchx
// 0.3 to nowa prędkość na osi x

Minty - 03-08-2017, 13:30
:
Nie, dobrze opisałam. Twoje podejście jest lepsze, ale realizacja się rozjechała :P

1
+ EZ-ObiektA : internal flag 1 is on
+ X( EZ-ObiektA ) > X( EZ-ObiektB )
EZ-Special Add -0.3 to ruchx
2
+ Always
EZ-ObiektA : Set X position to ruchx

Frandzelek - 03-08-2017, 20:17
:
msg napisał/a:
Musisz zmienić ten parametr w klikodzie: http://i.imgur.com/zNv9Ogg.png Niestety bazując na tym przykładzie nie da się w prosty sposób zmniejszyć szybkości tego ruchu (a przynajmniej mi nic prostego nie przychodzi do głowy).


O to mi chodziło, dzięki ;)