| |||||||
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 2005
Beiträge: 90
| selbstaufrufende funktion bitte HILFE!
hi, so jetzt muss ich euch leider mal wieder nerven, braeuchte mal wieder rat: folgendes: ich hab ein kleines gravity system gebastelt, mit einem ball der in die stage reinhuepfen und ein bischen rumspringen soll. sobald der ball aus der stage herausgehuepft ist, soll, der MC entfernt werdern und ein neuer mit anderen bounce etc. parametern hineinspringen. hier mal das script bis jetzt: Code: _global.gravity = 2 ;
_global.floor = Stage.height ;
_global.bounce = 0.92 ;
_global.speedx = 3 ;
_global.speedy = 0 ;
function initBall() {
var i:Number = 0;
nName = "ball"+i;
var nName:MovieClip = this.attachMovie("test_mc", nName, i++);
nName._x = 20;
nName._y = 20;
}
initBall();
_root.onEnterFrame = function(){
speedy = speedy + gravity ;
this._x += speedx/5 ;
this._y += speedy/5 ;
if (this._y > floor) {
this._y = floor ;
speedy *= -bounce ;
}
//HIER VIELLEICHT??? MARKER....
}
stop(); Code: if(nName._x > Stage.width){
nName.removeMovieClip();
initBall();
} wenn jemand vielleicht einen guten ansatz hat wie ich das bewerkstellige dass die geschichte quasi in ner endlosschleife lauft waer wirklich super! wie geh ich das am besten an? gruesse |
| | |
| | #2 (permalink) |
| Flash it baby! Registriert seit: Feb 2003
Beiträge: 287
|
Warum bewegst Du mit dem onEnterFrame die Bühne und nicht nur das MC mit dem Ball: PHP-Code: |
| | |
| | #3 (permalink) | |
| :Void Registriert seit: Jun 2005 Ort: börlin
Beiträge: 931
| Zitat:
? this bezieht sich doch in diesem block auf _root!deine funktion ist eigentlich ganz gut - mit dem haken, dass sie nichts wirklich macht . da wird ein movieclip erzeugt, der im folgenden nicht wirklich verwendbar ist. eine funktion mit dem return-type MovieClip wäre angebrachter:ActionScript:
gruß janosch | |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Oct 2005
Beiträge: 90
|
danke danke fuer alles posts! @ janoshnosh sehr genialer ansatz, danke dir! nur muss ich dich jetzt leider noch ein bischen nerven ![]() sagmal woran koennte das liegen dass jetzt der ball nicht unten auf der stage wieder zurueck bounced sondern einfach in die tiefen meines bildschirmes faellt?? wenn ich statt stage.height zb 300 nehm, faellt der ball erst mal bist FAST ganz unten und bounced ziemlich komisch ab, dann erst faellt er auf die stage unten und bounced ganz normal...? und wieso faengt der 2. ball nicht wieder bei nName._x = 20; nName._y = 20; an sondern viel weiter unten? normalerweise wird dem doch wieder 20/20 mitgegeben oder nicht?? gruesse |
| | |
| | #5 (permalink) |
| :Void Registriert seit: Jun 2005 Ort: börlin
Beiträge: 931
|
hm das lässt sich nun aus der ferne schwer sagen. die funktion sollte bewerkstelligen, dass der ball beim ersten erzeugen sowie bei allen weiteren bei 20/20 anfängt - sie kann ja gar nicht anders! benutze am besten mal den trace() befehl, um alle werte beobachten zu können. ich habe jetzt aber gerade gesehen, dass es hier ja um as1 geht und ich wieder mal in as2 geantwortet habe ... vielleicht verursacht das ja fehler. welche flash-version benutzt du, bzw. welches actionscript?den code gibts auch gerne nochmal in as1, aber der von Da_Judge ist auch sehr fein und vor allem as1. gruß janosch |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Oct 2005
Beiträge: 90
|
hmm, komisch, jetzt funktionierts auf einmal, aber das einzige was ich geaendert hab ist der functionsname onenterframe in moveBall, vielleicht mag ers trotz caseSensitive net.... hab vorher auch mit trace gearbeitet, hat den _y auch bis stage.height runtergezaehlt und dann gestoppt, nur ist der ball weitergefallen, total strange! naja, trotzdem vielen vielen dank fuer deine muehe!!! gruesse |
| | |
| | #7 (permalink) |
| Flash it baby! Registriert seit: Feb 2003
Beiträge: 287
|
Hab mein Script nochmal überarbeitet, bin nur auf Deine Fragen eingegangen, da sind aber noch ein paar mehr Fehler drinnen. Du veränderst nämlich das globale speedy. So gehts auf jeden Fall in AS 1: PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |