Archief - [AS3] Brick breaker

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

GregoryCo

Legacy Member
Dag iedereen

Als eindopdracht voor school moet ik brick braker maken. Ik heb al een goed stuk, maar is nog belange niet af.
Ik zit met een probleempje;

Ik werk dus met een array om de blokken op de stage de zetten. Als ik een hittest doe met de bal tegen de blokken verloopt alles normaal, ook het verwijderen van zo'n blokje. Hij kaatst ook terug, maar nu het probleem, als hij tegen de zijkanten bv. botst gaat hij er gewoon dwars door. En dat mag dus niet, hij moet ook terug kaatsen.

Zou iemand weten hoe je dat zou kunnen oplossen? Ik vraag geen code, maar gewoon een duwtje in de rug. :)

Ik heb het vlug even geüpload zodat jullie zelf kunnen zien waar het probleem ligt.

Dank!
breakout

EDIT: vergeten bij te vermelden: op de paddle klikken om te beginnen :)

Gurdt

Legacy Member
ik gok dat de fout in uw testcases zit waar de bal moet omkeren ofzo
ge hebt waarschijnlijk:

if(langs boven) { doe dit }
else if(langs onder ) { doe dit }

en dan zou ge mss die if( lands zijkant / links of rechts ) { doe dat ander }

GregoryCo

Legacy Member
Ziehier stukje code van mijn hittest

Code:
var child:DisplayObject = this.getChildAt(j);
		if(child is BlokWhite)
		{
			//als de bal een witte blok raakt, dan moet de blok verdwijnen
			if(bal.hitTestObject(child))
			{
				removeChild(child);
				trace("hit white");
				ySpeed *= -1;
				blockTickSound.play();
				//upDateScore(0);
			}
		}

Deze zit in een for lus

Daedie

Legacy Member
ySpeed *= -1. Maar nergens een xSpeed *= -1?

Ge zult ergens moet controleren aan welke kant uw blokje geraakt wordt en naargelang het resultaat van die test, de xSpeed of the ySpeed moeten inverteren.

GregoryCo

Legacy Member
Ok bedankt, nog wa zoeken hoe ik de zijkanten kan aanspreken :)

tnx, ik laat het weten als ik het heb gevonden!

GregoryCo

Legacy Member
Voor de mensen die het eens willen spelen: Breakout game - Pearl Harbor

Er zijn 3 levels

De bug van aan de zijkanten zit er jammer genoeg nog in, je kon het oplossen door in de movieclip andere movieclips te stoppen (een lijntje links, rechts, boven, onder) zodat je met een hittest de xSpeed inverteren, ma goed is niet gelukt en khebbet toch maar ingediend. Het moest binnen tegen 12u snachts.

Ma ik moet zeggen, ik ben redelijk content met wat ik heb. Ik heb slechts 3 maanden lessen van AS3, zonder enige voorkennis
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan