Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-01-2006, 15:03   #1 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
Neuladen des Scriptes, problem

Hi, also ich habe über AS einen Baum wachsen lassen (ja ist schon alt aber nun gut) Habe nun vor das der User sich ihn selber so zurecht stellen kann wie es ihm gefällt, ähnlich als würde man einen Bonsai züchten.

Mein Problem ist nun das ich ihn nicht dazu bewegen kann neu zuwachsen.

Kam dann auf die Idee mit delete oder unloadMovie aber das ich das Script von vorne ausführen lasse, schaffe ich nicht.

Auch wenn ich das ganze in eine onRelease Funktion eines Buttons stecke, also das der Baum erst wächst wenn man den Butten drückt, und davor das dann einstellt, schaffe ich es nicht.


Danke schonmal Grüße spino

PS: möchte kein Script hier vorgeworfen bekommen, sondern nur einen Lösungsansatz
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Alt 26-01-2006, 16:17   #2 (permalink)
wertzut
 
Benutzerbild von wertzut
 
Registriert seit: Nov 2005
Beiträge: 149
Hi,
Zitat:
Zitat von spino
Habe nun vor das der User sich ihn selber so zurecht stellen kann wie es ihm gefällt, ähnlich als würde man einen Bonsai züchten.
Also dein Baum soll vom user eingestellt werden wie er wächst, richtig?

Zitat:
Zitat von spino
Auch wenn ich das ganze in eine onRelease Funktion eines Buttons stecke, also das der Baum erst wächst wenn man den Butten drückt, und davor das dann einstellt, schaffe ich es nicht.
du hast den ersten fream wo du das einstellst und dann machst du ein goto andplay? oder ist das im gleichen fream? aber was funktioniert daran nicht?
wie wächst den der baum?

Grüße
wertzut
wertzut ist offline   Mit Zitat antworten
Alt 26-01-2006, 20:45   #3 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
Mein Baum wächst durch:
PHP-Code:

function counter() {
    if (
branchCounter == undefined) {
        
branchCounter 0;
    }
    return (
branchCounter++);
}
function 
grow() {
    
this.lineStyle(trunkThickness0xFFFFFF50);
    
this.moveTo(00);
    
this.lineTo(0trunkLength);
    if (
this._name != "trunk") {
        
this._rotation = (Math.random()*angle)-angle/2;
        
this._xscale *= branchSize;
        
this._yscale *= branchSize;
    }
    var 
seed Math.ceil(Math.random()*branch);
    for (var 
0i<seedi++) {
        if (
counter()<3000) {
            var 
segment this.createEmptyMovieClip("segment"+ii);
            
segment.onEnterFrame grow;
            
segment._y trunkLength;
        }
    }
    
delete (this.onEnterFrame);
}
this.createEmptyMovieClip("trunk"0);
trunk._x 300;
trunk._y 500;
trunk.onEnterFrame grow;
var 
angle 90;
var 
branch 4;
var 
trunkThickness 5;
var 
trunkLength = -104;
var 
branchSize 0.72
wobei ich "angle" und "branch" zwar am Anfang definiert habe, diese dann aber vom User manipulieren lassen möchte!
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Alt 26-01-2006, 20:48   #4 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
Ach ja, natürlich spielt sich alles im 1. Fream ab, da ich ihn ja sofort wachsen lasse, und daraufhin er ja nochmal eingestellt werden kann.
[Wobei auch dies nicht gaaanz richtig ist, weil ich mit einem Loader vorher arbeite spielt sich diese Aktion in Fream 2 ab!]

Wobei wenn ich den Baum rein über AS "wachsen" lasse, ich mich ja normalerweise immer in einem Fream aufhalte.

Ich könnte natürlich es anders lösen, in dem ich sage hey im Frame 2 soll er noch nicht "wachsen", erstmal die einstellungen, wenn dann die Einstellungen fertig sind, dann soll er wachsen.
Das funktioniert ja auch, aber ich würde es ja beforzugen wenn automatisch das script(wenn die werte für den Baum angle&branch umgestellt werden)sich von vorne neu aufbaut. Also ein direktes ähnlich wie bei einem updateAfterEvent, aber joa dies klappt irgendwie nicht!

Gruß spino
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de

Geändert von spino (26-01-2006 um 20:59 Uhr)
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:03   #5 (permalink)
wertzut
 
Benutzerbild von wertzut
 
Registriert seit: Nov 2005
Beiträge: 149
Hi,
vielleicht kannst du deine vars für die Einstellung in SharedObject speichern. In einem Button die Funktion einbaun die die Vars speichert und wieder den film neu startet also so das der Skript Neu beginnt aber die vars aus dem SharedObject ausließt.

gruß
wertzut
wertzut ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:22   #6 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
Ma schauen, dürfte aber nicht zu 100% klappen, gerade weil ich ja eine Dauernde abfrage der Variablen haben möchte, welche wenn sie geändert werden, den Baum neu wachsen lassen, ohne Button klick!

Mhh.. also mit sharedObject brauche ich ja eignetlich garnicht, da ich die Variablen ja die ganze Zeit verändern kann, mein Problem ist ja das ich den Baum nicht neu erstellen knn, einmal np aber sobald ich ihn lösche, oder ihn einfach versuche neu auferstehen zu lassen, funktioniert es nicht!
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de

Geändert von spino (27-01-2006 um 10:28 Uhr)
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:23   #7 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Ne! Was will er denn mit nem SharedObject?
Aaaaaaalles ganz einfach:
Pack alles, was du an Baum-wachse-Code hast in ne weitere Funktion, die du ganz einfach aufrufst! Zu Beginn der Funktion, entfernst du ganz einfach den MC "thrunk" und setzt branchCounter auf undefined. Danach definierst du zwei Parameter, die du mitübergibst, die fragst du dann ab, ob sie gesetzt sind, wenn ja, verwendest du die ansonsten die Standard-Werte!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:30   #8 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
also mit funktion vorher setzten habe ich natürlich am Anfang schon versucht, dann macht er aber garnichts mehr....

Ich probiere es mal mit dem rest!

Danke schonmal wobei ich glaube ich noch hilfe benötige
Edit: also ich glaube mein Problem ist noch nicht ganz rübergekommen, ich schaffe es ja das der User es einstellen kann, und daraufhin der Baum ensteht, aber ich möchte ja dass wenn der User seine Einstellungen nocheinmal verändert (die Einstellung werden über einen Slider zu einem Textfeld gegeben, welches anschließend die Variablen übermittelt)der Baum selbständig neu wächst
Gruß spino
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de

Geändert von spino (27-01-2006 um 10:33 Uhr)
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:32   #9 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Den Aufruf unabhängig vom Button zu machen, dürfte wohl kein Problem sein!?

PHP-Code:
function build(newAnglenewBranch) {
    
this.removeMovieClip();
    
branchCounter undefined
    
var angle = (newAngle != undefined)?newAngle:90;
    var 
branch = (newBranch != undefined)?newBranch:4;
    var 
trunkThickness 5;
    var 
trunkLength = -104;
    var 
branchSize 0.72;
    function 
counter() {
        if (
branchCounter == undefined) {
            
branchCounter 0;
        }
        return (
branchCounter++);
    }
    function 
grow() {
        
this.lineStyle(trunkThickness0x00000050);
        
this.moveTo(00);
        
this.lineTo(0trunkLength);
        if (
this._name != "trunk") {
            
this._rotation = (Math.random()*angle)-angle/2;
            
this._xscale *= branchSize;
            
this._yscale *= branchSize;
        }
        var 
seed Math.ceil(Math.random()*branch);
        for (var 
0i<seedi++) {
            if (
counter()<3000) {
                var 
segment this.createEmptyMovieClip("segment"+ii);
                
segment.onEnterFrame grow;
                
segment._y trunkLength;
            }
        }
        
delete (this.onEnterFrame);
    }
    
this.createEmptyMovieClip("trunk"0);
    
trunk._x 300;
    
trunk._y 500;
    
trunk.onEnterFrame grow;
}
build();
this.createEmptyMovieClip("testbtn"1);
with(this.testbtn) {
    
beginFill(0x000000);
    
moveTo(5050);
    
lineTo(10050);
    
lineTo(100100);
    
lineTo(50100);
    
lineTo(5050);
    
endFill();
}
this.testbtn.onRelease = function() {
    
build(102);

__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:36   #10 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
ok, also einmal kann man seine einstllungen treffen, aber nicht nocheinmal bei deinem Script, stimmts?

Und ich möchte es ja so haben das ich es die ganze Zeit ändern kann!
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:38   #11 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
aber schonmal danke für die hilfe!
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:38   #12 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Doch!
Der Aufruf auf dem Button ist natürlich absolut variabel!
Mach mal das:
PHP-Code:
this.testbtn.onRelease = function() {
    
build(Math.random()*90Math.random()*10);

Die beiden Werte beim onRelease hab ich nur eingefügt, damit man den Unterschied sieht! Der Aufruf muss natürlich auch nicht per Button erfolgen!
Der kann von irgendwas getätigt werden und zwei x-beliebige Werte übergeben!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:43   #13 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
achso, ok, klar super danke...
Hätte ich aber auch selber wissen sollen, dafür hat man ja das FF ^^

Vieeelleeen DANK bamboocha
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 10:46   #14 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
ok habe das nun richtig angepasst, so würde das dann aussehen, für die codenascher
PHP-Code:
function build(newAnglenewBranch) {
    
this.removeMovieClip();
    
branchCounter undefined
    
var angle = (newAngle != undefined)?newAngle:90;
    var 
branch = (newBranch != undefined)?newBranch:4;
    var 
trunkThickness 5;
    var 
trunkLength = -104;
    var 
branchSize 0.72;
    function 
counter() {
        if (
branchCounter == undefined) {
            
branchCounter 0;
        }
        return (
branchCounter++);
    }
    function 
grow() {
        
this.lineStyle(trunkThickness0x00000050);
        
this.moveTo(00);
        
this.lineTo(0trunkLength);
        if (
this._name != "trunk") {
            
this._rotation = (Math.random()*angle)-angle/2;
            
this._xscale *= branchSize;
            
this._yscale *= branchSize;
        }
        var 
seed Math.ceil(Math.random()*branch);
        for (var 
0i<seedi++) {
            if (
counter()<3000) {
                var 
segment this.createEmptyMovieClip("segment"+ii);
                
segment.onEnterFrame grow;
                
segment._y trunkLength;
            }
        }
        
delete (this.onEnterFrame);
    }
    
this.createEmptyMovieClip("trunk"0);
    
trunk._x 300;
    
trunk._y 500;
    
trunk.onEnterFrame grow;
}
build();
this.createEmptyMovieClip("testbtn"1);
with(this.testbtn) {
    
beginFill(0x000000);
    
moveTo(5050);
    
lineTo(10050);
    
lineTo(100100);
    
lineTo(50100);
    
lineTo(5050);
    
endFill();
}
this.testbtn.onRelease = function() {
    
build(anglebranch);

Und wenn ihr noch wissen wollt wie ich von den Slidern die sachen an die Textfelder übermittel etc. dann schaut euch noch dieses hier an.
PHP-Code:
this.targetTextField _parent[_name.split("_")[0]+"_txt"];
this.targetTextField.targetVariable _name.split("_")[0];
puck_mc.onPress = function() {
    
this.startDrag(true, -10001000);
    
this.onMouseMove _onMouseMove;
};
_onMouseMove = function () {
    
this._parent.targetTextField.text this._x;
    
this._parent.targetTextField.onChanged();
    
updateAfterEvent();
};
this.targetTextField.onChanged = function() {
    
puck_mc._x Number(this.text);
    
this._parent[this.targetVariable] = Number(this.text);
};
puck_mc.onRelease puck_mc.onReleaseOutside=function () {
    
this.stopDrag();
};
this.targetTextField.onChanged(); 
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Alt 27-01-2006, 13:10   #15 (permalink)
irgendwann...
 
Benutzerbild von spino
 
Registriert seit: Nov 2005
Ort: Münster
Beiträge: 168
http://www.boyne.de/outdoor.html
hier dann zum bestaunen

Grüße
s p i n o
__________________
.................................................. .................................................. .
Johannes Boyne | Flex & Flash Developer, Manager of the FlexUG - Germany/Cologne

(bd) boyne-developing | http://www.flexug.de
spino ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele