| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2003
Beiträge: 13
| Spiel ähnlich wie Linerider
Hi Leute, hab da ein kleines(?) Problem mit einem Flash-Spiel. Das Prinzip ist, dass am Anfang oben ein Objekt hängt und man Linien zeichnen kann. Diese Linien wandern hoch. Soweit ist alles vorhanden. Wenn diese Linie allerdings auf das oben hängende Objekt trifft sollen sich dessen x-Werte denen der Linie anpassen. Es soll also aussehen als würde das Objekt die Linien runterrollen, ähnlich wie bei Linerider nur dass die Linien hochwandern und das Objekt immer auf der gleichen Höhe bleibt. Praktisch erst eine Kollisionsabfrage, dann eine Funktion, die die x-Werte des Objekts anpasst. Code: // Linie zeichnen
_root.onMouseDown = function(){
_root.createEmptyMovieClip("line", 1);
line.moveTo(_xmouse,_ymouse);
line.lineStyle(2,0x000000,100);
this.onMouseMove = function(){
line.lineTo(_xmouse,_ymouse);
updateAfterEvent();
}
// Linie wandert hoch
_root.line.onEnterFrame = function(){
speed = 5;
this._y -= speed;
}
}
_root.onMouseUp = function(){
this.onMouseMove = null;
}
// Objekt
attachMovie("object", "object1", 2);
object1._x = 250;
object1._y = 20;
figur._xscale = 1;
figur._yscale = 1; Gruß, eclaw |
| | |
| | #2 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
|
Ich fürchte, du hast die Komplexität deines Vorhabens noch nicht realisiert und wirst dich hoffnungslos überfordern. Da die gezeichnete Linie ja jede nur denkbare Form haben kann und die Kugel dieser Form folgen muss, sind eine Vielzahl an Berechnungen nötig.
|
| | |
| | #3 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
am umfang mehrere hitTest. geht schon ;-) p.s. - 12 fps ist etwas mager! solltest du auf mindestens 25..31 einstellen, damit das etwas flüssiger läuft - und die mitte des punktes auch auf die mitte setzen und nicht nach links oben!
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
das bällchen ist ein kreis und nicht arm sondern reichlich blau ;-) und natürlich wird der bei einem U mit nach oben genommen. wohin auch sonst? was ich übrigens dadurch berücksichtigt habe: if (this._y<-this._height) { und insgesamt ist das nur als beispiel zu werten und keineswegs als 'perfekte' endlösung: - das gehoppel sieht blöde aus - die schräge runter müsste eigentlich eine energie aufgebaut werden um eine leichte steigung zu überwältigen - bei unterschiedlichen fallgeschwindigkeiten geht das nicht korrekt usw. also da kann sich ecl_55 schon noch drann austoben.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Oct 2003
Beiträge: 13
|
So, möchte euch allen noch für eure Hilfe danken (auch bei Skorpion für die Negativmotivation, hat tatsächlich was gebracht ). Der Ansatz mit der Energie aufbauen ist natürlich richtig, da sollte man eigentlich ein bisschen "richtige" Physik einbauen. Ist mir im Moment allerdings etwas zu hart.Das Spiel funktioniert jetzt so, dass ich den hittest linie->punkt benutzt habe, und zwar recht oft. Habe nen äußeren und nen inneren Ring mit einzelnen Punkten um die Unterseite des Objekts gebaut und diese auf Kollision mit der Linie getestet. So kann man steuern, in welche Richtung es sich folglich bewegen soll und falls es durch die Ungenauigkeit der Berechnungen in Flash passiert, dass ein Punkt übersprungen wird, ist da noch der Sicherheitsring. Schaut insgesamt schon ganz nett aus, nur das "U"-zeichnen ist noch nicht ganz berücksichtigt, da werd ich mir noch den Kopf zerbrechen... Im Moment springt er zu einer Seite raus. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |