Hi,
ich bin momentan dabei ein Flashprojekt im Rahmen meiner Ausbildung zu absolvieren. Es geht dabei um ein kleines Jump & Run. Nun habe ich das Problem , dass ein Hittest sehr ungenau funktioniert.
Es geht dabei um folgendes:
Die Spielfigur (_root.char) soll auf bestimmte Gegenstände draufspringen können und dann dort sitzen bleiben. auf gemalte gegenstände habe ich also recht dicke Balken gemalt(6 px) und Alpha null gesetzt, wo ich möchte, dass sich die Spielfigur "hinsetzt". Leider passiert es nur relativ selten, dass die Spielfigur auch wirklich auf diesen Balken sitzen bleibt.
Ich habe schon gelesen, dass es eine Problematik zu ungenauen Hittestabfragen gibt. Allerdings bin ich bissher nicht zu einer Lösung meines Problems gekommen.
Die Hittestbalken befinden sich im Movieclip mit den Instanznamen _root.hintergrund_mc.wald_vorne.hittest_mc .
Hier der relevante AS-Code:
Hat jemand eine Idee, wie ich mein Problem mit dem Hittest in den Griff bekomme? Bin für jede Hilfe dankbar.
ich bin momentan dabei ein Flashprojekt im Rahmen meiner Ausbildung zu absolvieren. Es geht dabei um ein kleines Jump & Run. Nun habe ich das Problem , dass ein Hittest sehr ungenau funktioniert.
Es geht dabei um folgendes:
Die Spielfigur (_root.char) soll auf bestimmte Gegenstände draufspringen können und dann dort sitzen bleiben. auf gemalte gegenstände habe ich also recht dicke Balken gemalt(6 px) und Alpha null gesetzt, wo ich möchte, dass sich die Spielfigur "hinsetzt". Leider passiert es nur relativ selten, dass die Spielfigur auch wirklich auf diesen Balken sitzen bleibt.
Ich habe schon gelesen, dass es eine Problematik zu ungenauen Hittestabfragen gibt. Allerdings bin ich bissher nicht zu einer Lösung meines Problems gekommen.
Die Hittestbalken befinden sich im Movieclip mit den Instanznamen _root.hintergrund_mc.wald_vorne.hittest_mc .
Hier der relevante AS-Code:
Code:
//Wenn Variable Jumping true ist
if (jumping)
{
//Springe in den Frame mit der Springenanimation
this.gotoAndStop ("springen");
this._y -= jump;
jump -= .5;
if (jump < 0)
{
falling = true;
}
// wenn Jump kleiner ist als -15
if (jump < -15)
{
jump = -15;
}
}
//Abfrage, ob der Hittest_mc getroffen wird
else if (_root.hintergrund_mc.wald_vorne.hittest_mc.hitTest(this) && falling)
{
jump = 9;
jumping = false;
falling = false;
}
Hat jemand eine Idee, wie ich mein Problem mit dem Hittest in den Griff bekomme? Bin für jede Hilfe dankbar.