Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-11-2005, 11:52   #1 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
eine kleine Anfängerfrage (function)

Ich habe folgendes Script:

PHP-Code:
function rechnung(){
var1=360
var2
=30;
return 
Number (var1/var2);

Ziel ist es:
das ich das Ergebniss von var1/var2 als zahl bzw. variable bekomme und in die nächste function als zahl bzw. variable übergeben kann!


PHP-Code:
var1 360
var2 12;
function 
drehungr()
{
    
_root._rotation += var1/var2 ;

Also das ich hir
...
PHP-Code:
_root._rotation += [I]var1/var2 [/I]; 
nur eine variable/Zahl einsetzten muss und die deklaration der variablen weglassen kann.

geht das? wenn ja wie?
ich hoffe ihr verstetht was ich mein!
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 11:54   #2 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hab ich Dich so richtig verstanden?!
Quick'n'Dirty:

PHP-Code:
function teile(ab) {
    return 
a/b;
}
trace(teile(102)); 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 11:57   #3 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
ja genau so!!

kannst mir villeicht ein bsp posten für die genaue Syntax?
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 11:57   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Oder so:
PHP-Code:
function teile(ab) {
    return 
a/b;
}
function 
drehe(cwen) {
    
wen._rotation += c;
}
drehe(teile(36020), _root.box); 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 12:02   #5 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Was willste genau machen?
Ich glaube so umständlich muss das garnicht sein.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 12:05   #6 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
Also eigentlich will ich ein objekt (form) immer um einen bestimmten wert in eine bestimmte richtung drehen. Und den Wert will ich eben aus einer function holen.
Das hat keinen praktischen hintergrund sonder dient nur der Übung! ich versuche gerade zu verstehen wie das mit der Variablen/werte übergabe functioniert!

(das 2. ist besser.
Aber ich versteh die 2. function nicht!
woher kommt auf einmal das c und was hat es mit dem wen auf sich?
wie gestagt ich binn anfänger desahalb wäre ich über ein paar comands sehr froh!)
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 12:13   #7 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Zitat:
Zitat von thebiz
Oder so:
PHP-Code:
function teile(ab) {
    return 
a/b;
}
function 
drehe(cwen) {
    
wen._rotation += c;
}
drehe(teile(36020), _root.box); 
Bei der 1. Funktion werden 2 Parameter an die Funktion übergeben.
(a,b) ist klar. Der Rückgabewert der Funktion ist der Quotient.

Die 2. Funktion will ebenfalls 2 Parameter (bzw. Argumente).
(c, wen). Hab ich jetzt einfach mal willkürlich so genannt.
c ist hier der Quotient (der Rückgabewert der 1. Funktion).
wen wäre hier im Beispiel jetzt ein MovieClip namens box,
der dann entsprechend gedreht wird.

ps.:
So verwurstelt, wie ich es jetzt hier gemacht habe ist
es sicherlich nicht empfehlenswert für einen Anfänger.

Im Grunde sieht es ungefähr so aus:
PHP-Code:
function funcName (arg1arg2, ...,argN):Returntype {
...
return 
whatever;
}
funcName(wert1,wert2, ...,wertN); 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------

Geändert von thebiz (29-11-2005 um 12:18 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 12:22   #8 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
erstmal THX

aber eins noch!
und zwar was wäre wenn ich die Werte aus einer variablen ziehen wollte die ich irgentwo definiert habe?
PHP-Code:
function teile(var1,var2) {
return 
var1/var2;

??

2.

ist immer die erste stelle in der klammer
PHP-Code:
function drehe(cwen
also bei dir jetzt c der Qutient und die 2.stelle bei dir wen der moviclipname?
oder welcher regel unterliegt das?
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 12:54   #9 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
der folgende script functioniert nicht
und wenn ich die Zahlen(360,30) direkt in die klammer nach teile schreibe dann wird mir ein Fehler ausgegeben!


PHP-Code:
var a=360
var b=30
function teile(a,b){
    return 
a/b;
}
function 
drehungr(c,clip){
    
this._rotation +=c;


Ales klar hat sich erledigt functioniert!
danke

Geändert von lueti25 (29-11-2005 um 13:04 Uhr)
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 13:20   #10 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Zitat:
Zitat von lueti25
erstmal THX

aber eins noch!
und zwar was wäre wenn ich die Werte aus einer variablen ziehen wollte die ich irgentwo definiert habe?
PHP-Code:
function teile(var1,var2) {
return 
var1/var2;

??

2.

ist immer die erste stelle in der klammer
PHP-Code:
function drehe(cwen
also bei dir jetzt c der Qutient und die 2.stelle bei dir wen der moviclipname?
oder welcher regel unterliegt das?

zu 1.
Du kannst der Funktion statt einer Zahl auch eine Variable übergebe.
Das ist der Funktion erstmal egal.
PHP-Code:
15;
function 
rechne(wert1wert2) {
    
trace(wert1/wert2);
}
rechne(a5); 
zu 2.
Um Gottes Willen
Die Reihenfolge ist völlig egal.
Da ist auch nix festgelegt, von wegen Quotient etc.

Wenn Du eine Funktion schreibst z.B.:
function rechne (arg1, arg2){...}

Dann musste beim Aufrufen auch die Reihenfolge beachten:
rechne(wert1, wert2)

Die Reihenfolge von rechne(wert1, wert2) und function rechne (arg1, arg2) ist wichtig.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 13:25   #11 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Zitat:
Zitat von lueti25
der folgende script functioniert nicht
und wenn ich die Zahlen(360,30) direkt in die klammer nach teile schreibe dann wird mir ein Fehler ausgegeben!


PHP-Code:
var a=360
var b=30
function teile(a,b){
    return 
a/b;
}
function 
drehungr(c,clip){
    
this._rotation +=c;


Ales klar hat sich erledigt functioniert!
danke
this._rotation += c; macht hier nicht viel Sinn,
weil Du ja hier extra einen Clip (bzw. MC)
an die Funktion übergeben bekommst.
Den willste doch wohl drehen und nicht die Hauptzeitleiste
oder die Zeitleiste auf der das Skript steht.

'this' bezieht sich in diesem Fall (wenn nichts anderes drum herum steht)
auf die Hauptzeitleiste oder die Timeline auf der das Skript steht.
Lass Dir mal per trace(this);
Anzeigen, was this innerhalb der Funktion bedeutet.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------

Geändert von thebiz (29-11-2005 um 13:26 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 13:36   #12 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
alles klar so langsam habe ich es raus!
Danke.
Das mit dem this. ich dachte damit beziehen ich es auf das aktuel aktive objekt.
Da habe ich wohl was verwechselt!!
Mein script sieht jetzt so aus und functioniert einwandfrei!!
PHP-Code:
function teile(a,b) {
    return 
a/b;
}
function 
drehe(wertausfunction1clip) {
    
clip._rotation += wertausfunction1;
}

aufruf:
drehe(teile(36030), _root.mc1); 
mc1 ist der instanzname.
Das heist ja das ich die zahlen die anstelle von ...function teile(a,b)
eingelesen werden bei jedem neuen aufruf variieren kann!?
also zb bei bild 10
PHP-Code:
aufruf:drehe(teile(36030), _root.mc1); 
bei bild 20
PHP-Code:
aufruf:drehe(teile(50080), _root.mc1); 
usw..
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 13:52   #13 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Genau.
Kannst die Zahlen frei wählen.
Für das Beispiel hier mit a/b
ist das sicherlich etwas zu kompliziert gestrickt.
Da kann man auch gleich a/b der Funktion übergeben.

Beispiel:
PHP-Code:
function rechne(ab) {
    return 
a*b;
}
function 
zeige(wert) {
    
trace(wert);
}
zeige(rechne(205));
//Wäre bei so einem einfachen Fall zu aufwendig.
//Würde man eher so machen.
zeige(20*5);
//Wäre die Funktion rechne() allerdings aufwendiger,
//wäre ein Verrechnen des Return-Wertes sinnvoller
function rechne2(abc) {
    return 
Math.pow((a*b), c);
}
//Hier wäre es schon etwas sinnvoller
zeige(rechne2(5102)); 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 29-11-2005, 14:05   #14 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
ja, so langsam verstehe ich die theorie!
THX
lueti25 ist offline   Mit Zitat antworten
Alt 29-11-2005, 15:07   #15 (permalink)
Prof.|E-learner|
 
Benutzerbild von lueti25
 
Registriert seit: Jul 2005
Beiträge: 153
jetzt bin ich noch einen Schrit weiter gegangen! Ich bekommen keine Fehlermeldung.
Allerding wollte ich das die drehung gleichschnell bleibt und nnur der alpha effeckt hinzu kommt!
Das klapt aber nicht die drehung verlangasemt sich und der alpah erffeckt functioniert.
aber eben nicht paralel sondern habe ich das Gefühl las ob die eine zahl die andere beeinflussen würde!

PHP-Code:
function teilen(a,b,c,d){
     return 
a/b,c/d;
    }
function 
dreh(wert,mc,wert2,mc2){
    
mc._rotation +=wert;
    
mc2._alpha -=wert2;
}

aufruf:
dreh(teilen(360,30,300,200),_root.mc1); 
hast du ne Ahnung woran das liegt?
lueti25 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 07:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele