Avatar billede dingemann Novice
25. maj 2003 - 20:39 Der er 15 kommentarer og
2 løsninger

ASP og Flash samt ActionScript

To spørgsmål:
1. Om ASP og Flash
2. Spørgsmål til ActionScript

Spørgsmål 1:
Jeg har snart forsøgt at importere data via en ASP-fil utallige gange og har egentlig aldrig fået det til at virke. Jeg har ingen anelse om hvad jeg gør galt. En flinker gut fra alt-news-grupsne sendt mig følgende AS og det så da også dejlig logisk ud men alligevel kan jeg ikke få det til at virke (Copy/Paste med noter og det hele så i kan følge mig og ham bedre))

Here's the Flash side:
// make an object to load variables into and one to send from
loadObj = new LoadVars ();
saveObj = new LoadVars ();

// put a variable into your save object from an input field or whatever
saveObj.someVar = "something";

// save your variable to your database
// see the Actionscript dictionary for what the parameters mean
saveObj.send ("save.asp", "POST");

// load what you just sent back in - you might want to put this code
// on a button to give the server time to save to the database
loadObj.load ("load.asp", "POST");

// see if the variable loaded and is the same as what you uploaded
// the onLoad command is indispensible in this format
loadObj.onLoad = function (success) {
  if (saveObj.someVar == loadObj.someVar) {
      trace ("it worked!");
}

Here's a few hints on the ASP side (I know it's vague, but you seem to
know more about ASP coding than I do anyway...):
- build a "load.asp" page and a "save.asp" page (my server guys
recommended that they be split up like that, though someone smarter
might be able to do it with one page)

- on the "save.asp" page, the variable "someVar" is what you are going
to write to your database.  (How you get that variable into your
database is what I usually job out...)
dataRecord=someVar

- on the "load.asp" page, access your database and pull out "someVar".
When you write it out, do it like this:

Response.Write("someVar=" & dataRecord)

Konkret:
Jeg skal bar vide to ting:
* Hvad er ActionScriptet for at modtage en variable fra en ASP-side og hvad skal der stå i ASP-siden der sender variablen (evt flere variabler)?
* Hvordan sender jeg data til en ASP-side og skal der evt. være noget i ASP-siden der griber fat i dataen (evt. flere variabler)?


Spørgsmål 2:
Jeg i selvsamme fla-fil skal jeg bruge en funktion der stopper op og venter på at en anden movie er færdig. Dette kan måles på _currentframe på den movie der ventes på. Altså når movien der ventes på når en bestemt frame så ved mit ActionScript at movien er færdig og så kan ActionScriptet fortsætte.
Har prøvet med While der så bliver ved med at køre i lykke indtil den får en korrekt _currentframe returneret (getproperty(movie, _currentframe)) men det lader til at While stopper alle movies osv og kun køre interne variabler og ikke eksterne som den her variable jo faktisk er.

Konkret:
Findes der et ActionScript der stopper en funktion i et ActionScript og kun fortsætter når en anden movie er færdig.
Selve problemet består i at movien indeholder fade-funktioner der skal nå at udføres før ActionScript-funktionen fortsætter med at udføre kommandoer...


Et indlæg der minder om det her postede jeg for nogle dage siden men det er ikke dukket op endnu så jeg prøver igen...

Hilsen fra Peter
(begge spørgsmål ønskes besvaret)
Avatar billede mat Nybegynder
25. maj 2003 - 22:40 #1
2:

Du kan tjekke på dit movieclips alpha eller som du selv siger på _currentframe i en enterFrame:

this.onEnterFrame = function() {
if (clip._currentframe == 10) do_stuff;
}

eller if (clip._alpha <= 0)

1:

http://www.eksperten.dk/kat/20?searchtype=txt&words=asp+og+flash&method=and&sort=score&catid=20  du må kunne finde svar på dine asp spørgsmål der - jeg er ikke asp-mand, men der bliver jævnligt spurgt til det :)

mvh mat
Avatar billede dingemann Novice
26. maj 2003 - 00:49 #2
2:
Hvad er en enterFrame ?

1:
Det mente jeg også men da jeg for nogle dage siden søgte efter 'asp' eller noget der lignede fik jeg ingen reply men jeg kigger lige lidt rundt på det i morgen.

Min pointe var at jeg gerne ville have en til et komme med et eksempel så jeg ikke behøves trække en hel masse ud af andres spørgsmål som kun er halvt relateret til mig. Det har jeg prøvet i det her tilfælde, op til flere gange og jeg har dælme ikke kunne få det til at virke. Derfor ville jeg gerne ha' hvis en kunne komme med noget der med sikkerhed virkede og opfyldte mit spørgsmål

Hilsen fra Peter
Avatar billede mat Nybegynder
26. maj 2003 - 10:10 #3
en enterFrame er et loop der løber med filmens framerate, alle movieclips (inklusiv hovedtidslinien) har en eventhandler der hedder onEnterFrame.

et minieksempel på asp og flash:

asp:

<% Response.Write "habba=foo" %>

flash:

l = new LoadVars();
l.load("http://www.ultra-abe.dk/test.asp");
l.onLoad = function(s)  {
    if (s){
        trace(this.habba); // output foo
    }
}

mvh mat
Avatar billede dingemann Novice
26. maj 2003 - 17:26 #4
1:
Fik dit script til at virke men jeg er lidt chocket over at man ska lbruge en direkte URL og ikke bare kan skrive test.asp istedet for www.ultra-abe.dk/test.asp - men jeg overlever nok...
Så mangler jeg bare svar på (2)
Avatar billede mat Nybegynder
26. maj 2003 - 17:50 #5
Du kan godt bruge en relativ url, min er absolut fordi jeg testede på mit hotel.

2´eren er det ikke den med _currentframe, den har jeg da fortalt dig hvordan kan laves? ellers må du sige til hvis det ikke er klart nok, eller hvis jeg har misforstået spørgsmålet.

mvh mat
Avatar billede dingemann Novice
26. maj 2003 - 18:19 #6
jeg kan kun bruge en URL foruden den indeholder hele adressen - ikke uden... har prøvet. Fx hedder min ASP-fil handler.asp og jeg kan ikke angive den som
l.load("handler.asp"); men kun som l.load("http://MINIP/tester2/handler.asp");

Men hvis du debugger kan du også se at variablerne indeholder forskellige strings - selvom variablen bliver oprettet og indeholder det den skal fra SP-filen så bliver den ikke skrevet i Output lissom hvis man havde anvendt fuldstændig URL-adresse

(2) fattede jeg ikke så meget af - det der med enterFrame er et lidt nyt begreb og du bliver lige nødt til at definere det lidt bedre... =)
Avatar billede mat Nybegynder
26. maj 2003 - 18:33 #7
Jeg forstår ikke helt hvad du mener med debug, men den her http://www.ultra-abe.dk/test.html er lavet med relativ url, så jo det kan man godt.

hvis du i din rod i flash skriver:

this.onEnterFrame = function() {
if (mit_movieclip._currentframe == 10) {
// en eller anden action når currentframe i mit_movieclip er 10
delete this.onEnterFrame;
}
}

kører flash et tjek med frameraten på hvor dit movieclip er i sin tidslinie.

mvh mat
Avatar billede dingemann Novice
26. maj 2003 - 23:43 #8
Når jeg nu skriver at jeg har problemer med relativ og absolut er det ikke fordi jeg er dement, nærmere pga at jeg ikke kan få det til at virke.
Så hvis du er flink sender du fla-filen og ASP-filen til mig på dingemann@hotmail.com

Det med this.onEnterFrame tror jeg lige at jeg kigger nærmere på =)
Avatar billede dingemann Novice
27. maj 2003 - 00:02 #9
har fået det til at virke altså (1) - du behøves ikke at sende noget alligevel så
Avatar billede mat Nybegynder
27. maj 2003 - 13:30 #10
hvordan går det så med 2´eren? :)

mvh mat
Avatar billede dingemann Novice
29. maj 2003 - 00:22 #11
hmmm... jeg kan ikke få den til at virke (2) men har fået (1) til at virke perfekt her i aften og sammenkoblet den med MySQL så den er totalt lukket nu...
Avatar billede mat Nybegynder
04. juni 2003 - 12:52 #12
Undskyld at jeg har glemt dette spørgsmål. Men du må nok være lidt mere konkret med hvordan du forsøger at implementere det.

Du skriver at du vil vente med at udføre nogle actions til nogle clips fading er færdig?

Dette gør netop det:

this.onEnterFrame = function() {
    if (clip._alpha < 10) {
        trace("clips alpha er under ti");
        delete this.onEnterFrame;
    }
}

Det er placeret i første frame af roden. Princippet i det er at en enterFrame kører med den FPS du har sat filmen til og tjekker derfor hele tiden. I mit eksempel er det selve movieclippet der bliver alpha-tweenet med en almindelig motion tween. Det virker ikke hvis det er en grafik inde i movieclippet der tweenes, så konstituerer det noget internt i clippet og ikke selve instancet.

Men jeg kan ikke forklare det bedre medmindre jeg ved noget mere om din film.

onClipEvent (enterFrame) (flash 5) - eller - movie_clip.onEnterFrame (fra og med MX) er ret vigtige at forstå i actionscript.

mvh mat
Avatar billede dingemann Novice
04. juni 2003 - 15:06 #13
jeg har fundet en anden løsning =)
men tak for svaret anyway =)

Hilsen fra Peter
Avatar billede mat Nybegynder
04. juni 2003 - 15:26 #14
Så ligger jeg lige et svar, så kan du bare give mig de point du synes jeg fortjener :)
Avatar billede dingemann Novice
04. juni 2003 - 15:38 #15
hvordan bestemmer jeg hvor mange point du skal have (du får de 75 af 100)
Avatar billede mat Nybegynder
04. juni 2003 - 15:45 #16
du ligger selv et svar og vælger avanceret i svar boxen - så deler du dem bare som du har lyst til mellem os :)
Avatar billede dingemann Novice
04. juni 2003 - 20:26 #17
okei så
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester