Bild aus ner .png Datei laden und Socketverbindung klappt nur aus Debug Modus heraus!

Evilandi

Grünschnabel
Hallo,

ich benutze Flash 8 Proffessional und Actionscript 2.0!

Meine 2 Probleme:
1. WIe kann ich Bilder aus .png Dateien laden? Wie geht das?Und diese dann per x,y koordinaten positionieren? (in Java geht das sehr leicht, ich habe es in Flash trotz etlicher Faqs nicht kapiert..könnte mir das jemand im Detail erklären, oder nen QUELLTEXT geben der ne png datei lädt(die im selbigen Ordner liegt, wie der quellcode)?)

2. Ich habe ein Programm welches eine Socket Verbindung eingeht mit einem Server, das klappt alles wunderbar, solange ich den Flash Clienten aus Flash 8 prof. heraus starte(Debug Modus ist das glaube ich)...wenn ich es aber als Film exportiere, connected er nicht, bringt aber auch keine Fehlermeldungen..mache ich etwas anden export einstellungen falsch?

Danke für eure Hilfe
mit freundlichen Grüßen
Evilandi666
 
Hi. Bei deinem 2 Problem kann ich dir leider nicht helfen, aber um ein .png zu laden müsste folgender Code ausreichen:
PHP:
this.createEmptyMovieClip("myPicture",this.getNextHighestDepth())
myPicture.loadMovie("meinBild.png");
myPicture._x = 10;
myPicture._y = 30;
 
Kleines Problem beider Methode mit den Bildern, wenn ich damit 2 Bilder nacheinander reinpacke, muss ich ja jedesmal den MovieClip verschieben weil die Bilder auseinander liegen(also sagen wir mal 200 pixel), dann zeigt er mir aber entweder nur das 1. oder das 2. Bild an. Nun meine überlegung war einfach mehrere MovieClips zu machen, aber ich müsste entweder ein Array erstellen , oder die irgendwie so durchnummerieren dass ich diese nacher in einer For Schleife aufgreifen kann..kann mir jemand helfen, ich schaffe das einfach nicht!
weil das Problem beim durchnummerieren ist z.b. das in Zeile 1 das Mypicture in "" ist, und danach stehts vornem Punkt....ich grieg das net hin, mit nem übergeben Namen(inner Funktion z.b.) um welche zu generieren.
Ne Überlegung war auch schon, einfach per zufallsgenerator was zu generieren, aber das scheitert auch an diesem Problem!

Bitte helft mir!
mfg andy
 
Mh. Hillft dir das vieleicht weiter?
PHP:
var accNr:String;
function creatBild(target:String,xPos:Number,yPos:Number)
{
	this.createEmptyMovieClip("myPicture"+accNr,this.getNextHighestDepth()) 
	this["myPicture"+accNr].loadMovie(target); 
	myPicture._x = xPos; 
	myPicture._y = yPos;
}
accNr = 0
 
bei dem script bringt er den Fehler, dass beider letzten zeile string benötigt wird, und number gegeben wird.
Wenn ich aber die letzte Zeile zu accNr ="0" ändere, bringts zwar keinen Fehler, zeichnet aber ein(alle?) bilder indie Linke obere Ecke, ob er mehr als 1. zeichnet sieht man net, sind alle gleichgroß, und könnten überlagern.
Die X,Y angaben stören dieses Script net, es nimmt scheinbar immer x=0,y=0!

mfg
Andy
 
Zuletzt bearbeitet:
Hi,

#1: Bilder im Abstand von 200px nebeneinander anzeigen
Code:
var images= new Array("norden.png", "osten.png", "sueden.png", "westen.png");
var imgwidth = 200;

for (var i=0; i<images.length; i++) {
    var ct = this.createEmptyMovieClip("ct" + i, i);
    ct._x = i * imgwidth; // jeweilige Breite
    ct._y = 0;
    ct.loadMovie(images[i]);
}

#2: Hast Du denn einen entsprechenden Server (welchen) installiert? Sockets erfordern z.B. den Flash Communication Server. Zeig mal etwas mehr Code, bitte!

Gruß
.
 
Zuletzt bearbeitet:
@Tobias..werde das Script mal checken!

der Server läuft in java!
Nur der Client ist in Flash!
Code zeigen ist schwierig sorry, ich darf dir das net zeigen :-(
Aufjedenfall, starte ich meinen Java Server(ist von mir programmiert), der wartet auf Connections(die Server software läuft bei mir grad zum testen alles aufm PC), dann starte ich 2 Flash Clienten ausm Flash 8 prof raus, ("Film testen"), und sie connecten ohne probs. Exportiere ich sie als .swf dateien, bringen sie zwar keine fehler oder so, aber sie können irgendwie nicht zum java server (der ja defakto aufm gleichen Rechner läuft) connecten.

so wurde das Problem nun besser verstanden? Hat da jemand rat?

Edit: Das Script funktioniert genau wie alles andere was ich fand, zwar so dasses ein Bild zeichnet(das letzte), und mehr auch nicht.
das problem mit
img._x = i * imgwidth; // jeweilige Breite
img._y = 0;
verschiebst du den Container, und das ist immer der gleiche.
d.h. du brauchst für jedes Bild nen neuen Container, also MC in dem Fall.
Und so hab ichs vorerst auch mal gelöst, ist zwar unelegant, undso, aber vllt weiß ja jemand ne bessre version!
@timäää
Code:
creatBild("Acht-Herz.png",100,100);
creatBild("Acht-Kreuz.png",200,200);
var accNr:Number;

function creatBild(target:String,xPos:Number,yPos:Number)
{
    this.createEmptyMovieClip("myPicture"+accNr,this.getNextHighestDepth()) 
    this["myPicture"+accNr].loadMovie(target); 
    myPicture._x = xPos; 
    myPicture._y = yPos;
}
accNr = 0  ;
hier benutzt er die x,y angaben nicht, die interessieren den garnicht. zeichnet alles inder linken oberen ecke (x=0,y=0).und vermutlich zeichnet er alle übereinander, weiß ich nicht.


mfg
Andy
 
Zuletzt bearbeitet:
Hi,

Code:
Exportiere ich sie als .swf dateien, bringen sie zwar keine fehler oder so, aber sie können irgendwie nicht zum java server (der ja defakto aufm gleichen Rechner läuft) connecten.
(spätestens) Ab Flash 8 dürften das auch die Sicherheitseinstellungen des Flashplayers verhindern, wenn er in der lokalen Sandbox läuft. Die SWF muss über die Verzeichnisstruktur des Servers (z.B. via localhost) aufgerufen werden, damit sie sich connecten kann.
Edit: Das Script funktioniert genau wie alles andere was ich fand, zwar so dasses ein Bild zeichnet(das letzte), und mehr auch nicht.
Mein Fehler! Du musst natürlich für jedes Bild einen neuen MC erstellen:
Code:
var images= new Array("norden.png", "osten.png", "sueden.png", "westen.png");
var imgwidth = 200;

for (var i=0; i<images.length; i++) {
    var ct = this.createEmptyMovieClip("ct" + i, i);
    ct._x = i * imgwidth; // jeweilige Breite
    ct._y = 0;
    ct.loadMovie(images[i]);
}
;)

Gruß
.
 

Neue Beiträge

Zurück