Diskuze: Smrt a útok
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 24 zpráv z 24.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
oPlayer, event AnimationEnd
Útok musíš mít špatně vyřešený od základu.
jestli chceš podrobnější info, nahraj sem "skripty" hráče
Hedně zdaru
Obj_player Step event: http://www.itnetwork.cz/dev-lighter/538
Animation End event:
{
if(sprite_index == stickman_player_attack) {
sprite_index = stickman_player_stand;
}
if sprite_index = stickman_player_dead then
{
game_end()
}
}
Musíš nastavit zvlášť image_speed pro tu animaci a po dokončení animace (Other>Animation End) nastavit co se má stát (třeba že se objekt zničí). Jinak k tomu útoku by to možná chtělo poslat kód.
Jak zvlášť ? Mohl by si mi to prosím podrobněji vysvětlit ? A ten útok by měl Step eventu, pokuď ne tak přikládám Step Event z monster(enemy) objektu:
{
image_alpha = hp/2;
if(hp <= 0) instance_destroy();
if (instance_exists(obj_player)) {
if(x <= obj_player.x) {
image_xscale = 1;
} else {
image_xscale = -1;
}
if(distance_to_point(obj_player.x,obj_player.y) <= 18) {
//Enemy Attack
if(alarm[0] <= 0) {
global.hp -= 1;
motion_set(point_direction(obj_player.x, obj_player.y, x, y),4);
alarm[0] = 30;
}
//Player attack
if(obj_player.sprite_index == stickman_player_attack &&
floor(obj_player.image_index) == 1) {
if(obj_player.image_xscale < 0 && x-obj_player.x <= 0) {
hp -= 1;
obj_player.image_index = 2;
} else if (obj_player.image_xscale >0 && x-obj_player.x > 0)
{
hp -= 1;
obj_player.image_index = 2;
}
}
}
}
}
Zvlášť jako před tu část kódu kde nastavuješ změnu spritu. A hlavně pokud je hráč mrtví asi by se neměl pohybovat ne?
No někde ve step eventu by si měl mít kdy hráč umře (něco jako if hp
< 0 sprite_index = spr_player_dead) no a před tím by si měl mít jakou
rychlostí se ta animace má animovat (př.: image_speed = 0.2; if hp < 0
sprite_index = spr_player_dead;). Pokud to máš jinak tak přilož kód xD.
Nevím jestli si viděl ten kód
Mám to takto:
if(global.hp <= 0) sprite_index = stickman_player_dead;
samozřejmě že to je jen část kódu. Takže ty myslíš že to má být takto ?
image_speed = 0.2;
if(global.hp <= 0) sprite_index = stickman_player_dead;
//Omlouvám se za double post.
No však to se ti napsal
V kódu máš if(global.hp <= 0) sprite_index = stickman_player_dead; no a
před sprite_index = stickman_player_dead; dej ještě image_speed = (rychlost
jakou chceš). A pokud chceš, aby se hráč nemohl hýmbat když je mrtví tak
nastav, že se může hýbat jen když je jeho zdraví vyšší než 0.
if (global.hp > 0) {
if(keyboard_check(vk_right) && place_free(x+3,y) &&
sprite_index != stickman_player_attack){
x+=3;
sprite_index = stickman_player_run;
image_speed = .2;
image_xscale = 1;
}
}
No co je tohle za syntax? Kdybych tohle napsal já, skočil bych z okna....
{
if(sprite_index == stickman_player_attack) {
sprite_index = stickman_player_stand;
}
if sprite_index = stickman_player_dead then
{
game_end()
}
}
Jedna větev C like, druhá se nejdřív tváří jako pascal a pak přejde na céčko..... lucky s tebou má pořádnou trpělivost.
Kdyby přišel TomBen tak by ti vynadal za ty globální proměnné, mě až tak nevadí, ale nepoužívám je (až na 'potřebné' [rozuměj lenost psát objekt na transfer skrz místnosti] vyjímky v malých utilitách)
such h4x0r, přečti si nějaké tutoriály, to ti pomůže nejvíc. Musíš pochopit co píšeš... uznávám, že přechod z D&D na GML je docela těžká věc, ale takhle to prostě nejde, začni od jednoduchých věcí a pak přejdi k těm o bit složitějším.
Možná by bylo dobré kdyby si ten kód napsal znova a sám a přemýšlel nad tím jak to vlastně funguje. A POUŽÍVEJ TO TLAČÍTKO!!!
Btw. pro kód je tu tlačítko taky.
Dáš sem tu hru? Jsem nažhavený si to zahrát.
Díky vám oběma za vaši pomoc a kritiku Hra už mi jede tak jak má.
Přikládám odkaz na stažení: http://uloz.to/…tory-0-8-exe
Tohle jsem s tím udělal za půl hodiny:
http://uloz.to/…itgame-2-zip
Charitativní účely jsou na další měsíc vyčerpány.
Zobrazeno 24 zpráv z 24.