Archief - FLASH: Dynamisch inladen van jpegs + resizen naar thumbs

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Arcko_Drazen

Legacy Member
Greetings vrienden

Ik ben bezig met een project voor school (net begonnen met flash & actionscript), het is al aardig gelukt maar ik slaag er niet in om hetvolgende te doen (wss omdat ik het niet zo goed begrijp wat er moet gebeuren).

Hetvolgende moet gebeuren: uit een xml gegevens halen (waaronder het path van de foto), deze inlezen in flash & foto tonen in flash.

Ik slaag erin om de foto in een movieclip te zetten en te tonen op het scherm.
Maar niet om te resizen.
(Later moet er tekst naast de foto verschijnen, ik weet niet of dit relevant is voor mijn vraag. Bovendien moet men later op de foto kunnen klikken en wordt er een groter exemplaar naast de thumb getoont.)

Mijn code:

Code:
// Read XML
function readPicturesXML(picturesXML:XML):Void {
	var rootNode:XMLNode = picturesXML;
	var picture:Object;
	for (var pictureNode:XMLNode = rootNode.firstChild.firstChild; pictureNode != null; pictureNode = pictureNode.nextSibling) {
		picture = new Object();
		picture.pictitle = pictureNode.firstChild.firstChild;
		picture.picpath = pictureNode.firstChild.nextSibling.firstChild;
		pictures.push(picture);	
	}	
}	
	
// Create Movie Clips
function createPictureMovieClips() {	

	this.createEmptyMovieClip("myTitle", 0);
	loadMovie("pictures/01.jpg", myTitle);
	myTitle._x = 320;
	myTitle._y = 60;

}

ik heb al geprobeerd door myTitle._height, _scale, ... maar weet niet hoe ik het aan de praat krijg.

Any ideas?

BTW: bij die creatie van die movieclip (jpg) staat het path hard coded ingegeven, dat weet ik ;)

mvg
Arcko D

static07

Legacy Member
Ik heb al een eind niet meer in Actionscript gecodeerd, maar volgens mij moet je eerst nagaan of de jpg volledig is geladen en dan pas de resizen.

Hoe je dit precies doet, beats me.... gettotalbytesloaded etc

furaxke

Legacy Member
myTitle._xscale=50;
myTitle._yscale=50;

iets in die aard dan?

Arcko_Drazen

Legacy Member
furaxke zei:
myTitle._xscale=50;
myTitle._yscale=50;

iets in die aard dan?

Potjandorie :) dat werkt. Enorm hard bedankt.
Enig nadeel op het moment is dat dit een scaling factor is. Zou handiger zijn als ik letterlijk aantal pixels kan instellen :)

Enig idee?

Ik zou het zelf best willen zoeken maar als ik in actionscript 'myTitle.' typ dan komt er geen intellisense die een menu'tje met mogelijkheden laat zien.

Alvast bedankt voor jullie antwoorden!

Arcko_Drazen

Legacy Member
Ok, door even logisch na te denken is het stom van me om de grote foto's te nemen en die te resizen naar thums.

Ik heb met photoshop originele foto's resized naar thums en heb dus nu voor elke foto een thumb

ik laad die thumbs in een array maar moet nu weten hoe ik in actionscript een movieclip maak met die foto in en rechts van die foto een tekstje (naam van bestand) zodat men later op die tumb + tekst kan klikken om een grote versie te zien.

Ik heb al op internet gezocht naar codes hoe ik movieclips maak maar slaag er niet in om tekst + foto in 1 movieclip te krijgen?

Bedankt voor jullie hulp!

PsyKi

Legacy Member
Een movieclip aanmaken (container_mc in het vorbeeld)

daarin, nog een movieclip met uw foto (foto_mc)
en een tekstvak voor uw tekst. (tekst_txt) kunt ge toevoegen via addTextField(). ==> meer info in de Flash help (die imo fantastisch is trouwes)

Is handig. Maar ge kunt ook perfect alles in 1 movieclip steken.

overigens,
uw probleem met resizen/scalen: de oplossing:

* eerst uw foto inladen
* dan kijken of _x groter is dan _y
* ALS _x het grootste is: _x verkleinen naar de gewenste grootte
* en _yscale = _xscale
* ANDERS: _y verkleinen naar de gewenste grootte
* _xscale = _yscale

en vwala.

Arcko_Drazen

Legacy Member
Thanks voor de info.

Weer een probleempje dat ik totaal niet snap.
Ik wil een instancenaam vergelijken met 1 van de waarden in mijn array.

Dit is de code

Code:
for(var i:Number = 0 ; i < pictures.length; i++){
	var path:String = "_level0." + this._name;
	var path2:String = pictures[i].picmcname;
							
	if(path == path2){
		trace("yes");
	}
}

Wanneer ik beide strings trace dan zien ze er exact hetzelfde uit
maar hij geraakt toch niet door de if?

Breen

Legacy Member
wel, als ze niet door de if geraken, zijn ze niet hetzelfde :) Je zal iets meer info (code) moeten geven.

Arcko_Drazen

Legacy Member
Opgelost :)
Primitief maar het werkt :p heb bij 1 string "" + .. + "" gezet en dan worden beide strings :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan