Antworten auf deine Fragen:
Neues Thema erstellen

Ball am Rand abprallen lassen

Sudox

Noch nicht viel geschrieben

Guten Abend,
Ich habe ein kleines programm erstellt mit dem man einen ball bewegen kann. Jetz wollte ich nur nicht das der Ball irgendwann auserhalb des Bildes verschwindet sondern das er am Rand abprallt. Nur leider weiß ich nicht wie ich dies umsetzen muss. Wäre dankbar für Hilfe
 

GoMeZ

Allrounddilettant

AW: Ball am Rand abprallen lassen

Hi,

ich hab zwar keine Ahnung von Flash oder AS, aber schau doch mal in der Suchfunktion nach "Kollisionskontrolle".

Gruß, der GoMeZ

edit: hab grad geschaut, nix gefunden worden, seltsam. Aber die große Suchmaschine spuckt Dir da bestimmt einiges aus.
 
Zuletzt bearbeitet:

sokie

Mod | Web

AW: Ball am Rand abprallen lassen

Hallo Sudox,
es wäre gut, wenn du schon mal schreiben könntest, welche AS Version du benutzt, und wie dein Code bisher aussieht. Dann könnte man schon sehr konkret etwas dazu sagen.
 

Sudox

Noch nicht viel geschrieben

AW: Ball am Rand abprallen lassen

Hi sokie,
Ich Arbeite gerade an einer Application für das iPhone deshalb arbeite ich gerade mit AS3.

So sieht der bisherige Code aus noch ungetestet da ich noch Fehler bekomme:
> Szene 1, Ebene 'Actions', Bild 1, Zeile 26 1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft xMax über einen Verweis mit statischem Typ flash.geom:Rectangle

>Szene 1, Ebene 'Actions', Bild 1, Zeile 26 1137: Falsche Anzahl von Argumenten. Nicht mehr als 1 erwartet.
Code:
import flash.sensors.Accelerometer;
import flash.events.AccelerometerEvent;
import flash.events.Event;

var acc:Accelerometer = new Accelerometer();
acc.addEventListener(AccelerometerEvent.UPDATE, update);

var tx:int = 0;
var ty:int = 0;

function update(e:AccelerometerEvent):void
{
    tx = e.accelerationX * 100;
    ty = e.accelerationY * 100;
}

this.addEventListener(Event.ENTER_FRAME, loop);

function loop(e:Event):void
{
    ball.x += ((ball.x + tx) - ball.x) * 0.3;
    ball.y += ((ball.y - ty) - ball.y) * 0.3;
}

//Kollisionsabfrage Wände
if (this.hitTestObject(getBounds(ball).xMax,ball.y,true))
{
    ball.x -=  4;
}
if (this.hitTestObject(getBounds(ball).xMin,ball.y,true))
{
    ball.x +=  4;
}
if (this.hitTestObject(ball.x,getBounds(ball).yMax,true))
{
    ball.y -=  4;
}
if (this.hitTestObject(ball.x,getBounds(ball).yMin,true))
{
    ball.y +=  4;
}
 

vincitore

Aktives Mitglied

AW: Ball am Rand abprallen lassen

also ich hab kA von flash oder jeglichem, aber ich würd einfach ne if schleife machen (wenn es da sowas gibt ;) ) und halt abfragen ob die koordinaten denen der raender entsprechen also zb if x=0 oder if y=0
 
A

ad86

Guest

AW: Ball am Rand abprallen lassen

Hi,

1. Du weißt, dass Flash nicht auf dem iPhone läuft (Und Apple es auch verbietet, damit eine App zu schreiben)?

2. Warum sind Deine Kollisionsabfragen nicht in der loop-Methode?

3. Dass mit dem hitTestObject wird ich sein lassen (Es sei denn Adobe hat da etwas verändert in CS5), aber normalerweise wird nur ein Rechteck um das Objekt benutzt, nicht das Objekt selbst. Du könntest also z.B in DEiner loopMethode schreiben:

Code:
//right wall
var newX:Number = theball.x + tx;
var newY:Number = theball.y + ty;
	
if(newX >= 545) {
	newX -= tx;
	tx *= -1;
}
//top and bottom walls
if(newY <= 5 || newY >= 355) {
	newY -= ty;
	ty *= -1;
}
//left wall
if(newX <= 5) {
	newX -= tx;
	tx *= -1;
}

ball_mc.x = newX;
ball_mc.y = newY;

MFG ad86
 

Sudox

Noch nicht viel geschrieben

AW: Ball am Rand abprallen lassen

also seid CS5 ist es möglich mit AS3 für das iPhone OS Apps zu machen die dann so umgewandelt werden das es auf dem iPhone/iPod Touch läuft

zum script:
muss ich bei deinem script noch etwas anpassen z.B. Höhe der Bühne oder so? oder kann man das so übernehmen?
 

h_seldon

Aktives Mitglied

AW: Ball am Rand abprallen lassen

Hallo Sudox,

also seid CS5 ist es möglich mit AS3 für das iPhone OS Apps
nützt ja nix wenn Jobs die Erstellung von Apps mit Flash per Lizenz verbietet. Das kannst Du Dir also abschminken. Da fragt man sich, welche Frühstücksflocken Jobs denn so futtert. Scheint jedenfalls die falsche Sorte zu sein, sonst kann man nicht derartige geistige Blähungen produzieren.

Die Fehlermeldungen sollte man auch bei AS3 ernst nehmen: u.a. möchte Dir Flash mitteilen, das hitTestObject nur einen Parameter zulässt, Du also für die Kollisionskontrolle zwischen Objekt und Punkt hitTestPoint verwenden mußt. Und natürlich muss die Kollision im Loop erfolgen, wie schon ad86 anmerkt.

Viel Spass
 
A

ad86

Guest

AW: Ball am Rand abprallen lassen

Hi,

also seid CS5 ist es möglich mit AS3 für das iPhone OS Apps zu machen die dann so umgewandelt werden das es auf dem iPhone/iPod Touch läuft

Weiß ich, aber h_seldon hat es ja schon beantwortet.

zum script:
muss ich bei deinem script noch etwas anpassen z.B. Höhe der Bühne oder so? oder kann man das so übernehmen?

Also tx und ty sind wie schnell sich der Ball bewegt (sollte also nicht 0 sein) und die Werte bei den if-Abfrage, musst Du dann auch noch editieren (ich weiß ja nicht wo der Ball abprallen soll) Ach ja, und mein Code-Schnipsel sollte in Deiner loop-Methode stehen.

@h_seldon: Ich kann Jobs verstehen. Wenn Du für das iPhone Apps (mit Flash) erstellst, bist Du von Adobe abhängig. Und die sind verdammt träge. (haben es ja vor 1 MOnat geschafft ein Update für Snow Leo zu bringen, welches schon letzten August oder September herauskam (also fast ein Jahr!). Da würde ich Flash und alle anderen die eine Ebene zwischen App und SDK von Apple erstellen, ebenfalls nicht gut heißen (Soll jetzt aber nicht heißen, dass Apple das Tollste und Beste ist)

MFG ad86
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben