NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Avatar
fofrik97
Člen
Avatar
fofrik97:1.6.2014 0:56

Ahoj,
vytvořil jsem si tank a jeho věž. Bohužel rychlost otáčení věže je moc velká.
Nevíte jak udělat, aby se otáčela pomaleji ? Např. dal bych kurzor do úhlu 74° a věž by se tam otočila až za 2 sekundy.

 
Odpovědět
1.6.2014 0:56
Avatar
DooM
Tvůrce
Avatar
Odpovídá na fofrik97
DooM:1.6.2014 1:20

Udělej si např. alarm, který bude každé dvě sekundy kontrolovat pozici kurzoru.

Nahoru Odpovědět
1.6.2014 1:20
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
Odpovídá na fofrik97
Neaktivní uživatel:1.6.2014 2:28

Máš 2 úhly, A (směr tank -> kurzor) a B (natočení tanku). Když bude rozdíl A-B kladný tak budeš postupně natáčet doleva, jinak doprava. Musíš ošetřit stavy, kdy je třeba jeden úhel 5 a druhý 355.
Tady je výraz, který ti vrátí úhel v intervalu <-180;180), takže se v podstatě nemusíš o nic starat.

((((A - B) mod 360) + 540) mod 360) - 180

Je to starý kód, který jsem psal. Možná by šel zjednodušit.

Nahoru Odpovědět
1.6.2014 2:28
Neaktivní uživatelský účet
Avatar
Odpovídá na fofrik97
Neaktivní uživatel:1.6.2014 2:42

https://dl.dropboxusercontent.com/…rotation.gmk (už nejde edit předchozího příspěvku, divný to systém :( )

Editováno 1.6.2014 2:43
Nahoru Odpovědět
1.6.2014 2:42
Neaktivní uživatelský účet
Avatar
fofrik97
Člen
Avatar
fofrik97:2.6.2014 16:14

Posix: díky, když si to otevřu, tak mi funguje ta myška (přesně tak bych si to představoval i s tou věží):D ale bohužel když kod zkopíruju do svojí věže, tak mi nefunguje :/
Dominik Hošic: Mohl by si mi poradit, jak to udělat s tím alarmem ? :)

 
Nahoru Odpovědět
2.6.2014 16:14
Avatar
Odpovídá na fofrik97
Neaktivní uživatel:2.6.2014 16:40

S takovým popisem problému ti neporadím -_-

Nahoru Odpovědět
2.6.2014 16:40
Neaktivní uživatelský účet
Avatar
fofrik97
Člen
Avatar
fofrik97:2.6.2014 18:32

Nechceme mi to sebrat funkci "smooth_rotation". To je asi tím, že nemám Pro verzi ne ?

 
Nahoru Odpovědět
2.6.2014 18:32
Avatar
DooM
Tvůrce
Avatar
Odpovídá na fofrik97
DooM:2.6.2014 19:54

To je tím, že nemáš ve Scripts nahranej script smooth_rotation.

Editováno 2.6.2014 19:54
Nahoru Odpovědět
2.6.2014 19:54
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
DooM
Tvůrce
Avatar
Odpovídá na fofrik97
DooM:2.6.2014 19:58

Jinak to s tím alarmem by se dalo vyřešit třeba takto...
Do Create:

alarm[0] = room_speed * 2;

Do: Alarm 0:

dir = point_direction(x, y, mouse_x, mouse_y);
direction = dir
image_angle = dir;
alarm[0]  = room_speed * 2;
Nahoru Odpovědět
2.6.2014 19:58
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
Odpovídá na fofrik97
Neaktivní uživatel:2.6.2014 20:24

Myslím, že image_angle ve stepu je jen v pro verzi.

Editováno 2.6.2014 20:24
Nahoru Odpovědět
2.6.2014 20:24
Neaktivní uživatelský účet
Avatar
Odpovídá na DooM
Neaktivní uživatel:2.6.2014 20:27

Uvědomuješ si, cos napsal? :D Rychlost otáčení by byla 0,5 (půl) "FPS" (kvůli alarm[0] = room_speed * 2), takže otáčení by nebylo plynulé (alarm se pustí jednou za 2 vteřiny).

Editováno 2.6.2014 20:28
Nahoru Odpovědět
2.6.2014 20:27
Neaktivní uživatelský účet
Avatar
DooM
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
DooM:2.6.2014 20:32

To měl být jen příklad na ten alarm :D Na ostatní faktory jsem se nezaměřoval. Pro ukázku snad stačí ne?
Teď mi došlo, že on to asi s tím alarmem myslel trošku jinak :D
To by se dalo vyřešit postupným přičítáním úhlu dokud by úhel nebyl roven úhlu myši.

Nahoru Odpovědět
2.6.2014 20:32
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.