Diskuze: Otáčení a pozice

Ostatní jazyky GameMaker GameMaker Otáčení a pozice

Aktivity (1)
Avatar
Neaktivní uživatel:17.4.2015 18:14

ahoj všichni,mám menší problém...dělám platform střílečku kde se ruka se zbraní otáčí za myší a z místa y=o_hand_9mm,x=o_han­d_9mm + 5 padají nábojnice,ale když se ruka otočí tak místo odkuď padají nábojnice zůstane,nevíte jak bych mohl otočit i to místo

mám win7,gamemaker studio colektor edition

Editováno 17.4.2015 18:17
Odpovědět 17.4.2015 18:14
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Loter:17.4.2015 18:32

Skus nastaviť center na ruku a naboj nastav aby sa tam vykresľoval (alebo aby sa vykresľoval o par pixelov dopredu aby to vyzeralo, že vychádza zo zbrane.

Nahoru Odpovědět 17.4.2015 18:32
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Neaktivní uživatel:17.4.2015 19:30

no a to je ten problém,když dám centr na konec ruky (aby rotovala okolo ramene) tak nábojnice vypadávaj z ramene,ale když to nastavim o 5 pixelů doprava tak vypadávaj ze správného místa ale když ruku otočim na druhou stranu (image_angle) tak místo odkuď vypadávaj nábojnice zůstane vpravo a já potřebuju vědět jak to místo otáčet společně s rukou

Nahoru Odpovědět 17.4.2015 19:30
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:18.4.2015 20:29

Pošli zdroják, napiš skype a pořešíme to ;)
(zaznamenávám výborné zlepšení pravopisu :) )

Editováno 18.4.2015 20:29
Nahoru Odpovědět 18.4.2015 20:29
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:18.4.2015 20:35

Btw, musíš zapojit mozek a použít vektory.
Převeď si kartézský systém souřadnic na polární a řešení je zřejmé. ;)

Editováno 18.4.2015 20:37
Nahoru Odpovědět 18.4.2015 20:35
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:19.4.2015 8:59

to je dobrej nápad...asi,mohl bys mi poslat link na stránku kde se to vysvětluje,nebo jestli bys mi to mohl vysvětlit rovnou tady...nemám totiš tušení co to znamená nebo jak se to dělá,ale jsem rád že se mi po dvou dnech konečně někdo snaží pomoct
ps.být samouk je tak těžký

Nahoru Odpovědět 19.4.2015 8:59
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:19.4.2015 9:08

muj skype je DrMrkev (překvapivě)
heslo je ***********

Nahoru Odpovědět 19.4.2015 9:08
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:19.4.2015 9:18

Jsem taky samouk, nevím jak dlouho se GM zabýváš, ale přibližně po 2 letech se dostaneš do nádherného období, kdy budeš 60% času v nápovědě a budeš se učit syntax... zlaté časy.

Nahoru Odpovědět 19.4.2015 9:18
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:19.4.2015 9:24

zabývám se jim asi půl roku(momentálně se snažím naučit se gml),ale pořád nevím co jsi mi napsal nebo jak to uďelat :-/

Nahoru Odpovědět 19.4.2015 9:24
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:19.4.2015 9:26

Poslal jsem ti žádost na skype, pořešíme to tam, odpověď mi pak můžeš ticknout tady. ;)

Nahoru Odpovědět 19.4.2015 9:26
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:19.4.2015 9:38

ok :D

Nahoru Odpovědět 19.4.2015 9:38
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:19.4.2015 9:49

Hele, hodláš to přijmout??

Nahoru Odpovědět 19.4.2015 9:49
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
solta:19.4.2015 15:15

pozici musíš vypočítat zopakuj si matematiku ze ZŠ sinus a cosinus v tvém případě znás délku přepony úhel http://cs.wikipedia.org/wiki/Sinus http://cs.wikipedia.org/wiki/Kosinus

 
Nahoru Odpovědět 19.4.2015 15:15
Avatar
Odpovídá na solta
Neaktivní uživatel:19.4.2015 15:59

goniometrie je zbytečná, funkce point_directi­on(a1,a2,a3,a4) vrací vektorový úhel (v rad.).

Nahoru Odpovědět  +1 19.4.2015 15:59
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:19.4.2015 17:37

Jistě, už jsem v GM několik let nedělal takže si funkce nepamatuji:) ale sinus a cosinus bude fungovat pořád a aspoň si mrkev uvědomí o co vlastně jde:)

 
Nahoru Odpovědět  +1 19.4.2015 17:37
Avatar
Odpovídá na solta
Neaktivní uživatel:19.4.2015 18:02

To máš samozřejmě pravdu :)

Nahoru Odpovědět 19.4.2015 18:02
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:19.4.2015 22:21

hele mně něco napadlo...nešlo bi nějak udělat že je centr na místě vypadání nábojnic a bod rotace někda jinde

ps.promiň že sem ti to nevzal,vyskytlo se něco závažného a já musel pomoct

Nahoru Odpovědět 19.4.2015 22:21
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:20.4.2015 1:34

ne nešlo :)

bullet_id = instance_create(x + lengthdir_x(Len, image_angle), y + lengthdir_y(Len, image_angle), obj_bullet);
bullet_id.direction = image_angle;
bullet_id.speed = 10;
 
Nahoru Odpovědět 20.4.2015 1:34
Avatar
Neaktivní uživatel:20.4.2015 3:44

dobře,zkusím použít ten kód...akorád co to znamená bullet_id(kdybich to jenom opsal a nevěděl co to znamená nic bych si z toho nevzal)

Nahoru Odpovědět 20.4.2015 3:44
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:20.4.2015 4:14

je to instance objektu obj_bullet takze kdyz budes chtit dale pracovat s tou kulkou tak pres bullet_id.neco_neco tak jak je to videt v tech druhych dvou radcich ale je mozne ze to nepotrebujes

dle tve reakce usuzuji ze nemas paru co to jsouu objekty tak si o nich neco precti aspon zaklad postupem casu se bez nich neobejdes

kdyz reagujes na neco tak pres tlacitko opovedet aby ten koho se to tyka o tom aspon vedel a prislo mu na to upozorneni :)

 
Nahoru Odpovědět 20.4.2015 4:14
Avatar
Odpovídá na solta
Neaktivní uživatel:20.4.2015 5:22

aha takže to je označení specifické instance přes ID číslo ??

mimochodem ta hra je retro(ultra-nízké rozlišení),myslím že speed = 10 je trochu moc když je hodně i 0.8

Editováno 20.4.2015 5:24
Nahoru Odpovědět  +1 20.4.2015 5:22
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:20.4.2015 5:35

hele dal jsem to pod praví tlačítko myši a když ho zmáčknu vyhodí to error...co mám dělat

Nahoru Odpovědět 20.4.2015 5:35
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:20.4.2015 6:59

Karotko ;),

odeslal jsem ti hotový soubor, máš to tam.
Tickni mi prosím odpověď jako řešení a taktéž poděkuj soltovi, který s tebou měl velkou trpělivost.

PS: za len musíš dosadit hodnotu typu real. V našem případě 20,7(jak jsem ti to ukazoval na skype).

Měj se :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 20.4.2015 6:59
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:20.4.2015 8:54

OMFG...ono to funguje...moc vám všem děkuju,máte to všichni u mně,moc dík

zvlášť bych chtěl poděkovat kocourmatej,ten mi pomohl asi nejvíc
:D:D:D:):D

Nahoru Odpovědět  ±0 20.4.2015 8:54
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:20.4.2015 11:52

hod sem ten kód i pro ostatní kteří budou řešit stejný problém

 
Nahoru Odpovědět  +2 20.4.2015 11:52
Avatar
Neaktivní uživatel:20.4.2015 14:28

hele jak jsi vypočítal číslo které musím dosadit za len...ten vzorec bych docela potřeboval

Nahoru Odpovědět 20.4.2015 14:28
Neaktivní uživatelský účet
Avatar
Odpovídá na solta
Neaktivní uživatel:20.4.2015 14:30

solta: mimochodem tobě taky patří velký dík,ten kód byl tvůj nápad

Nahoru Odpovědět 20.4.2015 14:30
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:20.4.2015 14:45

Vypočítal jsem to jako práci s klasickým vektorem, pokud máš sprite centrovaný jinak než (0,0), změní se ti adekvátně systém souřadnic.

Nahoru Odpovědět 20.4.2015 14:45
Neaktivní uživatelský účet
Avatar
Odpovídá na solta
Neaktivní uživatel:20.4.2015 14:46

Solto, teď mě napadá, že použití d3d_ rotací by bylo mnoooohem efektivnější.
Maticovým přístupem bychom několikanásobně snížili RAM potřebnou pro výpočet vektoru.

Nahoru Odpovědět 20.4.2015 14:46
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:20.4.2015 17:16

Len je vzdálenost o kterou chceš posunout tu nábojnici od středu v tvém případě 5px

 
Nahoru Odpovědět 20.4.2015 17:16
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:20.4.2015 17:22

To nevím jak to přesně gm zpacovava ale myslím ze to už je dost dobre a dokonale to byt nemusi:)
Udělej test a dej vedet

 
Nahoru Odpovědět 20.4.2015 17:22
Avatar
Odpovídá na solta
Neaktivní uživatel:20.4.2015 18:11

No já už to otestované mám :)

Nahoru Odpovědět 20.4.2015 18:11
Neaktivní uživatelský účet
Avatar
Odpovídá na solta
Neaktivní uživatel:21.4.2015 14:47

test dopadl víborně,funguje to jak má

Nahoru Odpovědět  +1 21.4.2015 14:47
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:21.4.2015 16:53

Ještě ten pravopis, prosím :)

Editováno 21.4.2015 16:53
Nahoru Odpovědět 21.4.2015 16:53
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:25.5.2015 17:24

jsem sem dal ten zdroják,kdybi mněl někdo podobný(nebo stejný)problém

if ammo > 0{
bullet_id = instance_create(x + lengthdir_x(5,i­mage_angle + 8 ), y + lengthdir_y(5, image_angle + 8 ),o_bullet);
bullet_id.direction = image_angle
image_speed = 0.4
global.pistolAmmo -= 1}

Editováno 25.5.2015 17:25
Nahoru Odpovědět 25.5.2015 17:24
Neaktivní uživatelský účet
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 35 zpráv z 35.