Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
_width og _height på rootens indhold kan findes ved _root._width og _root._height. Men det er ikke den, der er benyttet hér. Det er med garanti et tomt movieclip, hvor forskellige andre movieclips loades ind i. Når de så er loaded ind, sættes _alpha til 0, hvorefter en ramme sætter sin _width og _height dynamisk til eksempelvis container._width + controlPanel._width + extraSpaceX og container._height + controlPanel._height + extraSpaceY, mens den samtidigt skifter _x- og _y-værdier. Den dynamiske effekt kan nemt opnåes ved en lille funktion lidt al à:
1. Mit navn er med Q ikke G ;) 2. Ups, min fejl. Hér får du en beskrivelse af mit script, hvis du kan bruge det:
// kalder funktionen dynamicTransform(mc, 500, 150); // opretter en funktion, der kan skallere et movieclip o til størrelserne w og h function dynamicTransform(o:MovieClip, w:Number, h:Number):Void { // opretter en variabel, der definerer hastigheden af skalleringen var acceleration:Number = new Number(25); // opretter en variabel, der definerer, langt fra målstørrelsen mc'et må være, før det strækkes helt ud var accuracy:Number = new Number(0.5); // opretter en onEnterFrame, som er en funktion, der kaldes én gang hver frame o.onEnterFrame = function() { // sætter bredde på mc'et til acceleration antal procent "mere" den endelige størrelse o._width += (w - o._width) / 100 * acceleration; // sætter højde på mc'et til acceleration antal procent "mere" den endelige størrelse o._height += (h - o._height) / 100 * acceleration; // flytter mc'ets x-position til en mere passende, så det står i midten af skærmen o._x -= (o._x - (Stage.width - w) / 2) / 100 * acceleration; // flytter mc'ets y-position til en mere passende, så det står i midten af skærmen o._y -= (o._y - (Stage.height - h) / 2) / 100 * acceleration; // tjekker om størrelsen på mc'et er tæt nok på den endelige størrelse til, at den må gøre alt mellem { og } if(o._width + o._height > w + h - accuracy) { // sætter mc'ets bredde til den endelige bredde o._width = w; // sætter mc'ets højde til den endelige højde o._height = h; // sætter mc'ets x-position til den endelige x-position o._x = (Stage.width - w) / 2; // sætter mc'ets y-position til den endelige y-position o._y = (Stage.height - h) / 2; // sletter onEnterFrame, altså sletter funktionen, der kører én gang for hver frame delete o.onEnterFrame; // lukker if-statement } // lukker onEnterFrame-funktionen } // lukker funktionen selv }
Når funktionen kaldes ved dynamicTransform(bla bla, noget, noget nyt), husker funktionen igennem hele funktionen "bla bla" som o, "noget" som w og "noget nyt" som h. Derfor kan man sætte eksempelvis movieclippets størrelse med en sådan referance inde fra en funktion.
Udregninger er simpel matematik, men jeg kan godt forklare dem, hvis du ønsker dette:
o._width += (w - o._width) / 100 * acceleration; forøger o's bredde med (w - o._width) / 100 * acceleration, hvilket svarer til noget i denne stil: "acceleration procent af størrelsesdifferancen mellem maksimum og aktuel bredde"
o._height += (h - o._height) / 100 * acceleration; forøger o's højde med (h - o._height) / 100 * acceleration, hvilket svarer til noget i denne stil: "acceleration procent af størrelsesdifferancen mellem maksimum og aktuel højde"
o._x -= (o._x - (Stage.width - w) / 2) / 100 * acceleration; formindsker o's x-position med (o._x - (Stage.width - w) / 2) / 100 * acceleration, som svarer til følgende: "acceleration procent af forskellen mellem aktuel og minimum x-position"
o._y -= (o._y - (Stage.height - h) / 2) / 100 * acceleration; formindsker o's y-position med (o._y - (Stage.height - h) / 2) / 100 * acceleration, som svarer til følgende: "acceleration procent af forskellen mellem aktuel og minimum y-position"
o._width = w; sætter o's bredde til w, som er maksimumet
o._height = h; sætter o's højde til h, som er maksimumet
o._x = (Stage.width - w) / 2; sætter o's x-position til (Stage.width - w) / 2, som betyder "scenens bredde minus maksimumbredde, og så divideret med to"
o._y = (Stage.height - h) / 2; sætter o's x-position til (Stage.width - w) / 2, som betyder "scenens højde minus maksimumhøjde, og så divideret med to"
Jeg tvivler stærkt på, du finder descideret tutorials til et så lille effektelement. Dette ved de fleste programmører, hvordan man nemt koder sig ud af, og derfor behøves faktisk ingen tutorials, men jeg håber, du kan bruge mit lille forsøg på én :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.