PDA

Volledige versie bekijken : PNG/GIF file uit XML file transparant op Flash


Archoz
%Europe/Berlin %061 %2005, 01:28
Hi,

Ik heb op gotoAndLearn.com (http://www.gotoAndLearn.com) een tutorial gevolgd van de "Flash and XML - Slideshow".

Dan kun je dus .jpg files uit een XML file op een flash file dumpen. Dat lukt allemaal wel, maar nu wil ik een tranparante PNG of GIF er op zetten. Het probleem is dat de achtergrond dan wit wordt. De PNG zelf is natuurlijk wel transparant opgeslagen.

Weet iemand hier een oplossing voor? :)


Verder zou ik graag een link op de flash willen plakken. Dat moet je toch net zoals de tekst en het plaatje gewoon in de XML file kunnen zetten, om er vervolgens met Flash een link van te maken?

kolnedra
%Europe/Berlin %534 %2005, 12:49
link weet ik wel, maar gif / png gaat niet werken denk ik.

movieclip.onRelease = function() { trace("De actie"); }
zoiets dacht ik (weet het niet precies zeker)

Gerrit55
%Europe/Berlin %536 %2005, 12:52
met loadMovie kun je alleen swf en jpg-bestanden inladen, tenzij dit in Flash 8 is gewijzigd (zie Help)

Archoz
%Europe/Berlin %570 %2005, 13:40
Bedank voor de antwoorden. :)

In Help staat dit: "Loads a SWF, JPEG, GIF, or PNG file into a movie clip in Flash Player while the original SWF file is playing. Support for unanimated GIF files, PNG files, and progressive JPEG files is added in Flash Player 8."

Er staat niets over transparantie, maar als het PNG en GIF ondersteunt, lijkt het me logisch dat het transparant zou moeten zijn.


@Kolnedra: waar moet ik die code dan komen te staan? (ben n00b met Flash)

In Actions staat nu dit:

var x:XML = new XML();
x.ignoreWhite = true;

var urls:Array = new Array();
var captions:Array = new Array();
var whoIsOn:Number;

x.onLoad = function(success) {
var photos:Array = this.firstChild.childNodes;
for(i=0;i<photos.length;i++) {
urls.push(photos[i].attributes.url);
captions.push(photos[i].attributes.caption);
}
holder.loadMovie(urls[0]);
caption.text = captions[0];
whoIsOn = 0;
}

x.load("../slideshow.xml");

Dit staat in slideshow.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<slideshow>
<photo url="1.jpg" caption="1" />
<photo url="2.jpg" caption="2" />
<photo url="3.jpg" caption="3" />
<photo url="4.jpg" caption="4" />
</slideshow>

kolnedra
%Europe/Berlin %588 %2005, 14:07
var x:XML = new XML();
x.ignoreWhite = true;

var urls:Array = new Array();
var captions:Array = new Array();
var whoIsOn:Number;

x.onLoad = function(success) {
var photos:Array = this.firstChild.childNodes;
for(i=0;i<photos.length;i++) {
urls.push(photos[i].attributes.url);
captions.push(photos[i].attributes.caption);
}
holder.loadMovie(urls[0]);

// HIERZO MOET IE DUS KOMEN
// Wel zorgen dat er in je contentHolder (holder in jouw geval) een button met een instance "openHem"

holder.openHem.onRelease = function() {
getURL(urls[0],"_blank");
}
caption.text = captions[0];
whoIsOn = 0;
}

x.load("../slideshow.xml");

Archoz
%Europe/Berlin %943 %2005, 22:39
Thanks. :) Maar de link werkt helaas nog niet.

Ik heb dit dus tussen het actionscript gezet:

holder.openHem.onRelease = function() {
getURL(urls[0],"_blank");
}
En ik heb een button aangemaakt met "openHem" (naast Swap... ingevuld).

In de xml file heb ik er "link=" bijgezet. Moet dat dan niet ergens in het actionscript opgeroepen worden?

<photo url="1.jpg" caption="1" link="#" />