Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-07-2006, 13:57   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 10
Klasse für ein Objekt schreiben

Hallo

ich muss schon in 2 wochen ein Projekt präsentieren und bis jetzt hab ich gar nichts. ganz einfach weil ich hier viel in AC machen muss und weil uns kaum was beigebracht wurde. Also wollt ich euch fragen ob ihr mir mal helfen könntet. also ich will in einem MovieClip einige Objekte generieren und sie dann nach datum sortieren.
Als erstes will ich eine Klasse für so einen Objekt schreiben das ein String und Datum speichert, eine Funktion hat die seine Füllfarbe ändert, eine Funktion die sein Symbol ändert und das dieses Objekt dann sozusagen selbständig in der Luft schwebt. Bis jetzt hab ich folgendes:

Code:
class Note extends MovieClip
{
	var note:String = "";
	var day = 0;
	var month = 0;
	
	function setNote ( n, d, m )
	{
		note = n;
		day = d;
		month = m;
	}
	
	
	function setColor ( my_color:Color )
	{
		this.setRGB(my_color);
	}
	
	function onEnterFrame()
	{
		//hier soll dann stehen wie er sich bewegen soll
	}
	
}
nur bekomm ich ein Fehler bei setRGB:

There is no method with the name 'setRGB'

kann mir bitte einer sagen wie ich das machen soll? und ob das was ich bis jetzt habe soweit richtig ist?

danke im voraus.

edit:

habs etwas verändert:

Code:
import flash.geom.ColorTransform;
import flash.geom.Transform;

class Note extends MovieClip
{
	var note:String = "";
	var day = 0;
	var month = 0;
	
	function setNote ( n:String, d:Number, m:Number )
	{
		note = n;
		day = d;
		month = m;
	}
	
	
	function setColor ( my_color:Number )
	{
		var colorTrans:ColorTransform = new ColorTransform();
		var trans:Transform = new Transform(Note);
		colorTrans.rgb = my_color;
		trans.colorTransform = colorTrans;
	}
	
	function onEnterFrame()
	{
		
	}
	
}

Geändert von SIDEX (12-07-2006 um 14:31 Uhr)
SIDEX ist offline   Mit Zitat antworten
Alt 12-07-2006, 16:49   #2 (permalink)
Flashseppel
 
Benutzerbild von fred am rechner
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 442
der erste fehler ist klar, setRGB ist keine MovieClip-Methode.

bei deinem zweiten skript sehe ich soweit keinen fehler, aber auch keinen sinn; was soll das denn machen; bzw. was ist eigentlich deine frage?
__________________
<<-->>
fred am rechner ist offline   Mit Zitat antworten
Alt 12-07-2006, 17:20   #3 (permalink)
Waffe==Verstand
 
Benutzerbild von p-flash
 
Registriert seit: Jul 2004
Ort: Düsseldorf
Beiträge: 724
Hi,

bei der ersten Variante musst du eigentlich nur deine setColor Funktion ändern:
PHP-Code:
function setColor my_color:Number)
{
        var 
clr Color = new Color(this);
    
clr.setRGB(my_color);

Der Parameter my_color muss vom typ Number (nicht Color) sein, z.B. 0xFF0000.


p-flash

Geändert von p-flash (12-07-2006 um 17:22 Uhr)
p-flash ist offline   Mit Zitat antworten
Alt 14-07-2006, 17:56   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 10
hey viellen dank schon mal!

also das ist das was ich bis jetzt habe

Code:
class Note extends MovieClip
{
	var note:String = "";
	var day = 0;
	var month = 0;
	var X = 0;
	var Y = 0;
	
	function setNote ( n:String, d:Number, m:Number )
	{
		note = n;
		day = d;
		month = m;
	}
	
	
	function setColor ( my_color:Number )
	{
		var clr : Color = new Color(this);
		clr.setRGB(my_color);
	}
	
	function onEnterFrame()
	{
		if ( X == 0 && Y == 0 )
		{
			X = X + 1;
			setPosition (X, Y);
		}
		else
			if ( X == 2 && Y == 0 )
			{
				Y = Y + 1;
				setPosition (X, Y);
			}
			else
				if ( X == 2 && Y == 2 )
				{
					X = X - 1;
					setPosition (X, Y);
				}
				else
					if ( X == 0 && Y == 2 )
					{
						Y = Y - 1;
						setPosition (X, Y);
					}
	}
	
	function onPress() 
	{
		startDrag(this);
	}
	
	function onRelease() 
	{
		stopDrag();
	}
	
	function setPosition ( X:Number, Y:Number )
	{
		_x = X;
		_y = Y;
	}
	
}
also diese Klasse will ich dann auf ein MovieClip anwenden der nur ein Symbol enthält. ich denk mal soweit sollte alles jetzt funktionieren hab noch nicht getestet
aber ich brauch jetzt eine Funktion die von der im MovieClip enthaltenden Grafik das Symbol ändert. Mit anderen Worten "Swap Symbol" nur per AC. soweit ich gelesen habe geht das nicht und es geht nur über attachMovie.
Geht es wirklich nicht? oder geht das bei Flash 8 mittlerweile? wenn nicht dann muss ich ja das alte Symbol löschen, wie mach ich das? wie mach ich das vorallem wenn mir der Instanzname nicht bekannt ist? gibt es da andere wege? könnt ihr mir bitte hierbei helfen?

und ich hätte noch ein paar fragen:
wie kann ich ein objekt über AC skalieren?
und wie kann ich onRelease abfangen aber über die rechte Maustaste?


danke im voraus!

Geändert von SIDEX (14-07-2006 um 18:36 Uhr)
SIDEX ist offline   Mit Zitat antworten
Alt 15-07-2006, 00:56   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Da die Beiträge doch ein wenig über Einsteigerniveau hinausgehen, hab ich sie mal nach AS2 verschoben.

Das im MovieClip enthaltene Symbol solltest du in einen MC legen und zur Laufzeit mit swapDepths auf eine Tiefe größer -1 schieben. Dann kannst du es bei Bedarf mit removeMovieClip löschen und in den MC einen anderen MC der Bibliothek attachen oder mit loadMovie einen Film von außen nachladen.
  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 15:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele