sich ueberlappende Objekte - Problem [Flash 10]
| Beiträge: 15 Registriert: Jul 2011
| 19.08.2011, 23:41
Hallo,
also ich habe da folgendes Problem:
In meinem Spiel entstehen Scores and der Stelle wo ein Gegner abgeschossen wird. Allerdings ueberlappen sich die Scores visuell sobald mehrere Gegner auf zu engem Raum abgeballert wurden. Meine Idee um das zu verhindern war so eine Art Kollisionsabfrage zu machen mit Distanzmessung zu jedem Score, aber irgendwie kriege ich das nicht gebacken. Kann mit bitte da jemand weiterhelfen? Dankeschoen!
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | private function checkScoreDistance():void
{
scoreManager.scoreCount = scoreManager.scores.length;
if (scoreManager.scoreCount >= 1)
{
scoreManager.scoreCount = scoreManager.scores.length - 1;
scoreManager.scoreCountTwo = scoreManager.scores.length - 2;
scoreOne: for (var scoreCtr:int = scoreManager.scoreCount; scoreCtr >= 0; scoreCtr--)
{
tempScore = scoreManager.scores[scoreCtr];
tempScore.point.x = tempScore.x;
tempScore.point.y = tempScore.y;
oldtempScoreX = tempScore.x;
oldtempScoreY = tempScore.y;
var tempScoreTwo:Score;
scoreTwo: for (var scoreCtrTwo:int = scoreManager.scoreCountTwo; scoreCtrTwo >= 0; scoreCtrTwo--)
{
tempScoreTwo = scoreManager.scores[scoreCtrTwo];
tempScoreTwo.point.x = tempScoreTwo.x;
tempScoreTwo.point.y = tempScoreTwo.y;
oldtempScoreTwoX = tempScoreTwo.x;
oldtempScoreTwoY = tempScoreTwo.y;
var scoresX:Number;
scoresX = oldtempScoreTwoX - oldtempScoreX;
var scoresY:Number;
scoresY = oldtempScoreTwoY - oldtempScoreY;
var dist:Number;
dist = Math.sqrt(scoresX * scoresX + scoresY * scoresY);
if (dist <= 25)
{
oldtempScoreX -= 25;
oldtempScoreTwoX += 25;
oldtempScoreY -= 25;
oldtempScoreTwoY += 25;
}
}
}
}
}
}
|
| Geändert von drpelz am 19.08.11 um 23:44 Uhr | |
| | Beiträge: 447 Registriert: Mar 2008
| 20.08.2011, 09:55
|
|