Hét vraag- en antwoordplatform van Nederland

Hoe kan ik dit oplossen?

Voor school moet ik in een team een spel maken. Nu hebben wij een bewaker in het spel die loopt heen en weer via een timeline. Je ziet het bewaker ook echt lopen. Maar zodra henry de hoofdpersonage binnen een staal rondom de bewaker is gaat de bewaker naar hem toe. Het werk allemaal prima. Op 1 ding na.
Zodra de bewaker naar henry toe gaat laat hij van de loop animatie alleen maar het eerste plaatje zien. Hoe kan ik dit oplossing.

distance=abs(x - henry.x);
if (distance>range_min)
if (distance{
timeline_position=962;
timeline=0;
if (henry.x {
sprite_index=guard_walk_L;
image_index=0;
image_speed=1;
motion_set(180,2);
}
else
{
sprite_index=guard_walk_R;
image_index=0;
image_speed=1;
motion_set(0,2);
}
}
if (distancemotion_set(360,0);
if (distance>range_max)
if (timeline=0)
{
timeline_index=guard;
timeline_position=0;
timeline=1;
}

Deze code is gemaakt door middel van The_ultimate_D&D_to_GML_converter.exe
Zo werkt het niet. Maar met D&D wel

Verwijderde gebruiker
14 jaar geleden
714
capthavoc
13 jaar geleden
Ik vermoed dat je dit soort vragen beter op wat meer specifieke forums kan zetten.
game coding is hoogstwaarschijnlijk niet iets dat de gemiddelde GVer zal weten.
ik heb er ook geen bal verstand van.
er is vast wel een forum over het programma dat je gebruikt voor codering of een usergroep succes

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (2)

Volgens mij ligt het probleem er in dat je keihard de timeline_position op een bepaalde waarde (962) blijft schijven terwijl je natuurlijk wilt dat hij blijt bewegen. Je moet dus de if/else structuur zo oplossen dat je alleen de richting omgooit maar wel de walk aan blijft roepen.

Overigens zie ik zo ook nog twee if-statements na elkaar staan, ik weet niet of dit programma dat wel kan, maar ik zou eerder iets verwachten in de trant van

if (distance>range_min) || (distance{
...
}

waarbij de || dus staat voor een OR. Wel even nakijken of de syntax zo goed is.

Toegevoegd na 47 minuten:
Zie ook deze language overview:
http://www.gmlscripts.com/gml/language_overview
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden
Dat komt waarschijnlijk omdat je ergens in de collision event tussen het object van de bewaker en het object van de hoofdpersonage de variabele 'image_index' een bepaalde waarde krijgt. Het is ook mogelijk dat image_speed gelijk is aan 0. Controleer of image_speed hoger is dan 0 en wis indien aanwezig het toekennen van een waarde aan image_index.
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding