Diskuze: Problém se scorem

Ostatní jazyky GameMaker GameMaker Problém se scorem

Avatar
Vašek
Člen
Avatar
Vašek:

Ahoj.
Mám oddělené score dvou hráčů pomocí tohoto codu:
draw_text(x-80,y,'hrac 1 '+string(ZDE JE NÁZEJ HRÁČE 1.score)+' skore.'); draw_text(x+80,y,'hr­ac 2 '+string(ZDE JE NÁZEV HRÁČE 2.score)+' skore.'); Potřebuji aby tito dva hráči soupeřili mezi sebou o jeden cíl.
Když se hráč 1 srazí s cílovým objektem tak se vše přesune do dalšího kola. Toto mi funguje.
Ale nechce se mi přičíst score.
(score se má přičíst tomu hráčovi po přesunutí do dalšího kola).
Prosím Tě o pomoc. Tisíckrát díky.
Ahoj.

 
Odpovědět 16.12.2012 10:56
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vašek
David Čápka:

A co ti brání přičíst do proměnné v události kolize s tím cílem?

Nahoru Odpovědět 16.12.2012 11:08
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Vašek
Člen
Avatar
Odpovídá na David Čápka
Vašek:

Zřejmně postup do dalšího kola:
Mám nastavené:
Object hráč
Hráč1 a hráč2 dědí vlastnosti po object hráč.
Cílový object:
Při kolizi s objectem hráč
If next room exist
Start of block
go to next room
for other object: set variable score relative +10
end of block

 
Nahoru Odpovědět 16.12.2012 11:14
Avatar
Satik64
Redaktor
Avatar
Satik64:

A používáš na score globální proměnné? Protože jinak si to nebude pamatovat při přechodu mezi roomy.

Nahoru Odpovědět 16.12.2012 11:55
Bůh neobdarovává lidi sny, aniž by jim nedal sílu je uskutečnit.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Satik64
David Čápka:

Globální proměnné se nepoužívají. Skóre patří hráči, je to tedy instanční proměnná. Pokud chce, aby přecházelo mezi levely, stačí udělat hráče jako persistent. Případně si udělá jiný objekt jako persistent (např. objStats), kde bude tyto údaje držet.

Editováno 16.12.2012 12:14
Nahoru Odpovědět 16.12.2012 12:13
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vašek
David Čápka:

Prohoď

go to next room

a

for other object: set variable score relative +10

Nahoru Odpovědět 16.12.2012 12:23
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Vašek
Člen
Avatar
Vašek:

Myslím, že v tom to není.
Mám object Print_score ve kterém mám v eventu draw:

draw_text(x-80,y,'hrac 1
'+string(car.sco­re)+' skore.');

draw_text(x+80,y,'hr­ac 2
'+string(car2­.score)+' skore.');

V nové místnosti vložím tento object beze spritu a podle této pozice se vytvoří score

Editováno 16.12.2012 17:29
 
Nahoru Odpovědět 16.12.2012 17:29
Avatar
Vašek
Člen
Avatar
Odpovídá na David Čápka
Vašek:

Nefunguje mi to prohození mám nastavený object Print_score ve kterém mám v eventu draw:

draw_text(x-80,y,'hrac 1
'+string(car.sco­re)+' skore.');

draw_text(x+80,y,'hr­ac 2
'+string(car2­.score)+' skore.');

V nové místnosti vložím tento object beze spritu a podle této pozice se vytvoří score.

ALE SCORE SE MI NECHCE PŘIČÍTAT. POTŘEBUJI POMOCT PLEASE

 
Nahoru Odpovědět 17.12.2012 19:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vašek
David Čápka:

Můžeš si udělat ty 2 proměnné přímo na objektu PrintScore a ten nastavit jako persistent, už jsem ti to psal. Potom budeš psát:

draw_text(x-80,y,'hrac 1
'+string(score1)+' skore.');

draw_text(x+80,y,'hrac 2
'+string(score2)+' skore.');

A skóre budeš měnit jako:

Print_score.score1 += 5;
...
Editováno 18.12.2012 10:23
Nahoru Odpovědět 18.12.2012 10:23
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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 10 zpráv z 10.