Thread: hitTestObject AS3 en Arrays
-
01-06-2012, 20:14 #1Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
hitTestObject AS3 en Arrays
Hallo, ik zit met een probleem waarbij ik een game moet maken voor een eindopdracht in Flash AS3 en mijn concept bestaat uit een mijner in een karretje dat pegels moet ontwijken en diamanten moet vangen.
Het enige probleem is dus op deze moment dat ik een hitTestObject heb gebruikt maar dat ik enkel 1 item uit mijn array kan oproepen waarbij mijn hitTestObject van toepassing in omdat ik mijn pegels random laat aanmaken en dus niet weet hoeveel pegels or op elke moment op het scherm aanwezig zijn.
Is er een mogelijkheid om mijn array te definiƫren zodat deze de items tussen laat ons zeggen 1 en 200 oproept en daar mijn hitTestObject aan koppelt ?
mijn code ziet er zo uit:
public function setNextStone()
{
nextStone= new Timer(200+Math.random()*1000,1);
nextStone.addEventListener(TimerEvent.TIMER_COMPLE TE, newStone);
nextStone.start();
}
Hierboven wordt mijn pegel random gegenereerd
public function checkForHits(event:Event)
{
if(stones[0].hitTestObject(miner))
{
trace("test");
}
}
En hier roep ik de hitTestObject op
zoals je ziet staart er nu stones[0] en pakt hij dus enkel het eerste item in de array maar die moet alle items in de array worden.....
Ik weet dat het een zeer lange post is maar ik zou het zeer op prijs stellen moest er iemand kunnen helpen, mijn punten van mijn eindwerk hangen er namelijk een beetje van af
.
no votes
-
-
01-06-2012, 20:23 #2Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Adobe ActionScript 3.0 * Looping
Loopen door een Array lijkt me iets dat ge wel moet kennen als ge aan uw eindopdracht bezig zijt.no votes
-
01-06-2012, 20:25 #3Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Njah eindopdracht voor richting Multimedia maar is wel eerste jaar dat we AS3.0 zien en zijn er nog maar ca 3-4 maand mee bezig zodus :P
Ikzelf snap helemaal niets van AS3.0 alles is afgeleid van basic tutorial en hulp van mensen in mijn klas die er wel iets van snappen :P dus enige uitleg die gegeven wordt gelieve het uit te leggen aan iemand die dus geen enkel verstand heeft van AS 3.0 :PLast edited by UraMastah; 01-06-2012 at 20:44.
no votes
-
01-06-2012, 21:39 #4Member
- Registered
- 19/02/06
- Location
- -
- Posts
- 4,048
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/73
Om te weten hoe je loopt door een array moet je nu niet bepaald een ActionScript expert zijn, denk ik...
Moeten jullie daar ook geen websites maken enzo? Dan kan je toch ook al wat javascript?
ActionScript is min of meer een mengeling van Java en Javascript.
Leren ze jullie daar niet de basis van programmeren voor je Flash games moet gaan maken?
Maar bon, om iets te testen voor elk item in een array moet je dus in een for lus elk item afgaan, wat toch redelijk duidelijk uitgelegd wordt in Zero Grav zijn link.
En je zal het misschien niet geloven, maar er bestaat nog meer documentatie over AS3, die je zomaar kunt raadplegen, en daar kan je dan te weten komen dat arrays in AS3 ook speciale functies hebben om voor elk element een functie uit te voeren.no votes
-
01-06-2012, 21:40 #5Banned
- Registered
- 13/05/06
- Location
- Hoeselt
- Posts
- 9,944
- iTrader
- 48 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/72
No offense, maar looping leer je toch net voor/na branching. Iets wat je dus zeker in de eerste 2 maanden leert.
Met het stukje van Zero Grav kom je al een heel eind.no votes
-
01-06-2012, 21:46 #6Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Normaal wel jah maar bij ons gaat het er dus een heel pak anders aan toe m.a.w. ze geven ons een tutorial en zeggen ons gewoon maak een game a.d.h.v. deze tutorial zonder eige uitleg..... geweldig dus... zo hebben we als eerste game via tutorial Pong moete maken xD.
no votes
-
01-06-2012, 21:47 #7Banned
- Registered
- 13/05/06
- Location
- Hoeselt
- Posts
- 9,944
- iTrader
- 48 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/72
Waar volg jij dan les?
no votes
-
01-06-2012, 21:56 #8Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
01-06-2012, 22:22 #9Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
opgelost
heb uiteindelijk dan toch een for lus kunnen gebruiken om mijn hitTestObject toe te passen op al mijn items in mijn Array maar van het ene probleem kwam het andere en nu heb ik mijn pegels die verdwijnen vanaf een bepaalde x-waarde maar de hitTestObject eigenschap blijft wel staan op de plaats waar ze verdwijnen xD
voor degene die zich er in interesseren en hun tijd voor willen gebruiken heb ik alle bestanden van mijn spel online ter beschikking gesteld xD. het is een bestand van 0,9MB dus niet te groot :P
Flash-game bestand <- downloadno votes
-
01-06-2012, 22:36 #10Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Als de hitTest waar is en ge wist dat object, dan moet ge dat object ook wissen uit de array: AS3: Arrays
no votes
-
01-06-2012, 23:09 #11Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
01-06-2012, 23:12 #12Member
- Registered
- 19/02/06
- Location
- -
- Posts
- 4,048
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/73
no votes
-
02-06-2012, 00:00 #13Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Man man man.... daarom werk ik dus nooit met AS 3.0 xD ik snap er niets van haha ik snap dat je de array moet splicen maar in mijn code heb ik dit:
if (y > 425)
{
deleteStone();
}
Als dit gebeurt moet dus ook mijn Array gespliced worden maar zoals gezegd snap ik de ballen van AS3.0 en wil dit dus liefst zo snel mogelijk achter mij hebben. Ik stel alle hulp die ik hier al gekregen heb van iedereen zeer hard op prijs en sorry als ik jullie hiermee erger
no votes
-
02-06-2012, 00:08 #14Banned
- Registered
- 13/05/06
- Location
- Hoeselt
- Posts
- 9,944
- iTrader
- 48 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/72
Welke 'steen' doe je weg? Volgens mij weet je method deleteStone() niet welke steen nu zijn y-val heeft gehaald.
no votes
-
02-06-2012, 00:16 #15Member
- Registered
- 01/06/12
- Location
- Begijnendijk
- Posts
- 9
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
public function moveStone(event:Event)
{
//get time passed
var timePassed:int = getTimer()-lastTime;
lastTime += timePassed;
//move plane
this.y += dx*timePassed/1000;
//check to see if stone hits floor
if (y > 425)
{
deleteStone();
}
}
// delete stone from stage and stone list
public function deleteStone()
{
removeEventListener(Event.ENTER_FRAME, moveStone);
parent.removeChild(this);
}
Dit is de volledige code voor mijn move en delete functies en btw heb mijn bestand vanboven in een link gezet als je het wil downloaden daar staat dan weer alle code netjes :P en het is maar 0,9mb groot :Pno votes

