PDA

Volledige versie bekijken : spel werkt niet naar behoren (2 bugs)


deresen
%Europe/Berlin %076 %2005, 01:50
Ik heb een klein probleempje,
ik ben een spel aan het maken in flash, heel gecompliceerd allemaal maar je kan erin "lopen". Ik heb nu 2 vensters, je kan van de ene naar de andere "springen" en terug, maar als je van venster 1 naar venster 2 springt, dan word de "snelheid" opeens van 50 px naar 100 px gemaakt en ga je terug, dan word de snelheid 150 px, jullie denken nu misschien, OWW, dan definieer je waarschijnlijk snelheid += 50;, maar het punt is dat ik dat niet doe, ik heb werkelijk alles geprobeerd, maar niks werkt bij mij.

Daarnaast is nog een klein probleempje (bug), je kan namelijk bij venster 1 tegen een huis lopen, dan loopt ie in dat huis en gaat ie meteen weer terug, omdat ik dat zo heb beschreven, nu ga ik naar venster 2. Waar dat niet beschreven staat en een geheel eigen AS heeft (in de frame), en dan opeens krijg ik een melding dat dat balletje tegen het huisje aankome (wat ik in een woordje: _root.woordje) heb gedefinieerd in een ander frame, is het misschien mogelijk dat frames van dezelfde layer samenwerken ofzo?

Ik wil niet veel van het spel verklappen of dergelijks en omdat het niet zomaar een klein stukje code is kan ik het hier ook niet plakken of dus de hele file neer zetten.
Zou iemand me kunnen helpen met het (frame verwisselen =snelheid + 50px; ) probleem?

Gewoon toevoegen op msn (deresen@hotmail.com) en dan kan je me hopelijk helpen.

Heel erg bedankt alvast,
want dan kan ik weer verders

SaphuA
%Europe/Berlin %293 %2005, 07:02
Die snelheid komt hoogstwaarschijnlijk omdat je het script van je lopen in een interval hebt zitten, en deze maak je op het volgende frame nog een keer aan, waardoor hij 2x wordt aangeroepen, en dus 2x zo snel is. Je moet de oude dus eerst clearen met clearInterval();

Je tweede vraag snap ik niet.

Ik vind niet dat je op een forum kan vragen of mensen je op msn willen toevoegen. Als je hulp wilt moet je maar een simpele versie van de fla online zetten. De meesten hier hebben vast wel specialere dingen gezien als jou spelletje.

~Sph

deresen
%Europe/Berlin %373 %2005, 08:57
Hoi SaphuA,

bedankt voor dat ik de "clearInterval();" moet gebruiken, maar kan je me ook vertellen waar ik die moet gebruiken en hoe?, ik heb geprobeerd om hem te gebruiken in de frame met de code: clearInterval(snelheid); maar dat werkt niet helemaal.

Om de tweede vraag duidelijker te beschrijven komt het volgende:
Je loopt, tegen een huis op, dit huis die staat op de coordinaten (bijvoorbeeld) 50,150. Als je dan van onderen op die coordinaten (of iets er om heen) komt, dan word het balletje terug gekaatst naar waar die stond, zodat je niet door/over het huis heen kan lopen (als dit gebeurd word er ergens in een venster verteld dat je NIET door het huisje heen kan gaan). Dit heb ik alleen in het 1e venster (frame 2) geplaatst. In het 2e venster (frame 10) staat dit niet een geen andere dingen waar je niet doorheen mag lopen.
Maar het blijkt dat die melding die ik geef in het andere venster, dat diezelfde melding bij venster 2 komt te staan hoewel ik dat nergens heb verteld (in de keyframe van frame 10). Daarom was mijn gedachte dat het misschien kon dat 2 frames met elkaar samenwerken, en dat was dus de vraag aan jullie.


Ik vind niet dat je op een forum kan vragen of mensen je op msn willen toevoegen. Als je hulp wilt moet je maar een simpele versie van de fla online zetten. De meesten hier hebben vast wel specialere dingen gezien als jou spelletje.

Ik vind zeker wel dat je kan vragen aan mensen of ze je op msn willen toevoegen: een nee heb je en een ja kun je krijgen. En daarnaast, ik ben trots op mijn spel, iets wat ik zal blijven terwijl ik weet dat er specialere dingen zijn ja.
En om een simpelere versie van de fla online te zetten.... wat denk je wel? sorry hoor, maar dat vind ik heel vaag gedacht, heb je ooit een spel gemaakt. Als het antwoord ja is, dan begrijp je dat er bugs in zitten en dat die eruit gehaald moeten worden en je weet niet waar de bug zit dus kan je ook niet zomaar een simpelere versie schrijven, omdat daar dan andere bugs in zitten..

Voor de rest,
bedankt

TheZwier
%Europe/Berlin %377 %2005, 09:03
een simpele versie van een .fla is meestal eentje zonder graphics, lvls e.d. puur de code.

Hoe roep je je interval aan? doe je:
snelheid = setInterval(functie(), 50);

zonee, dan moet je hem zo aanroepen om het ook te kunnen clearen.

behived
%Europe/Berlin %380 %2005, 09:07
Saphua bedoelt dat als je een vraag post op een forum, daar ook best het antwoord kan gegeven worden, dan hebben anderen er ook wat aan...

Als je geen enkele code post is het heel moeilijk om te "raden" hoe je je spel hebt opgebouwd. Als je wil geholpen worden zal je dus toch iets moeten posten.

En om een simpelere versie van de fla online te zetten.... wat denk je wel? sorry hoor, maar dat vind ik heel vaag gedacht, heb je ooit een spel gemaakt. Als het antwoord ja is, dan begrijp je dat er bugs in zitten en dat die eruit gehaald moeten worden en je weet niet waar de bug zit dus kan je ook niet zomaar een simpelere versie schrijven, omdat daar dan andere bugs in zitten..

heel vaak is het door het probleem te isoleren of te simuleren dat je zelf tot de oplossing komt, dus ik denk niet dat dat vaag gedacht is...

SaphuA
%Europe/Berlin %438 %2005, 10:30
Hoi SaphuA,
En om een simpelere versie van de fla online te zetten.... wat denk je wel? sorry hoor, maar dat vind ik heel vaag gedacht, heb je ooit een spel gemaakt. Als het antwoord ja is, dan begrijp je dat er bugs in zitten en dat die eruit gehaald moeten worden en je weet niet waar de bug zit dus kan je ook niet zomaar een simpelere versie schrijven, omdat daar dan andere bugs in zitten..
Waarom zou dit niet kunnen?
Ik gebruik Flash alleen maar om spellen te maken, en ik weet zelf wat dat het zeker mogenlijk is om dit te doen. Als mensen uiteindelijk je spel willen stelen is er toch altijd wel een compiler beschikbaar die je source verkrijgt. Dus als je wilt dat anderen je source niet gebruiken moet je niet met Flash gaan werken.

En ik snap het probleem niet van een simpele source online te zetten. Alle gfx eruit, en alleen de code waarin jou probleem zit. Zo kunnen wij je toch niet helpen, en moeten we zelf maar gaan bedenken wat er gebeurt. Je kunt anders op zijn minst een beschrijving geven hoe je je code hebt opgebouwd.

Ik probeer je hier niet mee te beledigen of iets dergelijks, maar het is meer een hint. Als je hulp wilt van anderen moet je er zelf moeite voor doen, en niet vragen of anderen je willen toevoegen op msn. Ik vind dat, naar mijn idee, een beetje laks.

Dat van die interval is dus ook maar een gok, aangezien ik niet weet hoe je source in elkaar zit. Het leek mij de meest logische reden van dit probleem, maar dan zal ik toch echt meer moeten weten om te kijken of het wel zo is.

~Sph

deresen
%Europe/Berlin %829 %2005, 19:53
Sorry, ik heb het gewoon verkeerd begrepen van de fla enzo, dat het alleen om de code ging ... een beetje stom van me

Maar wat het punt is is dat het me niet om de code gaat, maar om het idee en daarnaast om de graphics en wil ik gewoon mijn spel aan het eind hier laten zien, zodat ik het vooral zelf heb gemaakt, en jullie me met sommige dingen hebben geholpen.

Maar willen jullie dan misschien kijken op deze site:

www.deresen.nl/flashgame/spel.fla
en voor de swf:
www.deresen.nl/flagame/spel.swf

heel erg bedankt, want het lukt mij niet echt,
groeten

SaphuA
%Europe/Berlin %861 %2005, 20:40
Oke,
Dit is al beter :)
Ik heb even naar je source gekeken, en die versnelling van de snelheid ligt aan hetvolgende. Op het eerste keyframe maak je een object aan, waaraan je een keyEvent attached. Daarna ga je naar het volgend frame, waar je weer een ander object maakt en deze ook weer een keyEvent geeft. Wat dus betekend dat je twee keyEvents hebt. Je moet dus of de oude verwijderen (delete object; || delete object.onKeyDown;), of voerschrijven.

~Sph

deresen
%Europe/Berlin %774 %2005, 18:34
Hoi weer eventjes,

ik heb "delete object" erin geplakt, als hij door de eerste portal gaat komt hij mooi bij het tweede schermpje, maar hierin is het punt dat als je weer door de portal terug wilt gaan, dat hij nergens naartoe gaat, hij verplaatst de bal gewoon 500 pixels naar rechts (uit het veld dus) en dat klopt niet, hij gaat dan ook niet terug naar frame 2.
Ik denk dat dit komt omdat hij eerst een object delete en dat hij hem daarna niet meer wilt aanmaken ofzoiets.

Voor de rest weet ik niet veel van Objects af, ik weet alleen dat ze bestaan maar niet hoe ze werken enzo, dit object heb ik ook als code van iemand anders gekregen hier op het forum.

Bedankt, je bent een goede hulp

deresen
%Europe/Berlin %924 %2005, 22:10
iemand die me met dit "kleine" probleempje kan helpen?