Köra ActionScript 3.0-exempel på mobila enheterDu kan köra ActionScript 3.0-kodexempel på mobila enheter som stödjer Flash Player 10.1. Emellertid är det vanligast att köra kodexempel för att lära sig hur särskilda klasser och metoder fungerar. I så fall kör du exemplet på en icke-mobil enhet som en stationär dator. På den stationära datorn kan du använda spårningsuttryck och andra felsökningsverktyg i Flash Professional eller Flash Builder för att öka din förståelse av ett kodexempel. Om du vill köra exemplet på en mobil enhet kan du antingen kopiera filerna till enheten eller till en webbserver. Om du vill kopiera filerna till enheten och köra exemplet i webbläsaren gör du följande:
Om du vill kopiera filer till en webbserver och köra exemplet i enhetens webbläsare gör du följande:
VisningsstorlekVisningsstorleken som används när du kör ett exempel på en mobil enhet är mycket mindre än när du använder en icke-mobil enhet. Många exempel kräver ingen särskild visningsstorlek. När du skapar SWF-filen anger du en visningsstorlek som är lämplig för din mobila enhet. Ange exempelvis 176 x 208 pixlar. Syftet med de praktiska exemplen i Utvecklarhandbok för ActionScript 3.0 är att illustrera olika koncept och klasser i ActionScript 3.0. Deras användargränssnitt har utformats för att se bra ut och fungera väl på en stationär eller bärbar dator. Även om exemplen fungerar på mobila enheter är visningsstorleken och användargränssnittet inte lämpliga för små skärmar. Adobe rekommenderar att du kör det praktiska exemplet på en dator för att lära dig ActionScript, och sedan använda relevanta kodfragment i dina mobilprogram. Textfält i stället för spåruttryckNär du kör ett exempel på en mobil enhet kan du inte se utdata från exemplets spåruttryck. Skapa en instans i stället för klassen TextField om du vill se utdata. Lägg sedan till texten från spåruttrycken till egenskapen text i textfältet. Du kan använda följande funktion om du vill ställa in ett textfält för spårning: function createTracingTextField(x:Number, y:Number, width:Number, height:Number):TextField { var tracingTF:TextField = new TextField(); tracingTF.x = x; tracingTF.y = y; tracingTF.width = width; tracingTF.height = height; // A border lets you more easily see the area the text field covers. tracingTF.border = true; // Left justifying means that the right side of the text field is automatically // resized if a line of text is wider than the width of the text field. // The bottom is also automatically resized if the number of lines of text // exceed the length of the text field. tracingTF.autoSize = TextFieldAutoSize.LEFT; // Use a text size that works well on the device. var myFormat:TextFormat = new TextFormat(); myFormat.size = 18; tracingTF.defaultTextFormat = myFormat; addChild(tracingTF); return tracingTF; } Lägg exempelvis till funktionen till dokumentklassen som en privat funktion. Spåra sedan data i andra metoder i dokumentklassen med kod som följande: var traceField:TextField = createTracingTextField(10, 10, 150, 150); // Use the newline character "\n" to force the text to the next line. traceField.appendText("data to trace\n"); traceField.appendText("more data to trace\n"); // Use the following line to clear the text field. traceField.appendText(""); Med metoden appendText() accepteras endast ett värde som en parameter. Detta värde är en sträng (antingen en String-instans eller en stränglitteral). Om du vill skriva ut värdet för en variabel som inte är en sträng, måste du först konvertera värdet till ett String-värde. Det enklaste sättet att göra detta är att anropa objektets toString()-metod: var albumYear:int = 1999; traceField.appendText("albumYear = "); traceField.appendText(albumYear.toString()); TextstorlekI många textexempel används textfält för att illustrera ett koncept. Ibland medför en justering av textstorleken i textfältet bättre läsbarhet på en mobil enhet. Om exempelvis en textfältsinstans med namnet myTextField används i ett exempel ändras dess textstorlek med följande kod: // Use a text size that works well on the device. var myFormat:TextFormat = new TextFormat(); myFormat.size = 18; myTextField.defaultTextFormat = myFormat Samla in indata från användarnaMobilens operativsystem och webbläsare samlar in vissa indata från användarna som inte tas emot av SWF-innehållet. Specifikt beteende beror på operativsystem och webbläsare men oväntat beteende kan förekomma när du kör exemplen på en mobil enhet. Läs mer i Prioritet för tangentbordshändelser. Vidare är användargränssnitten i många exempel utformade för stationära eller bärbara datorer. Exempelvis är de flesta av de praktiska exemplen i Utvecklarhandbok för ActionScript 3.0 lämpliga för visning på stationära datorer. Därför visas ibland inte helheten på den mobila enhetens skärm. Förmågan att panorera genom webbläsarens innehåll beror på webbläsaren. Vidare är exemplen inte utformade för att fånga eller hantera bläddrings- eller panoreringshändelser. Därför är vissa exempels användargränssnitt inte lämpliga att köra på en liten skärm. Adobe rekommenderar att du kör exemplen på en dator för att lära dig ActionScript, och sedan använda relevanta kodfragment i dina mobilprogram. Läs mer i Panorering och rullning av visningsobjekt. Hantera fokusVissa exempel kräver att du ger ett fält fokus. Genom att ge ett fält fokus kan du exempelvis ange text eller välja en knapp. För att ge ett fält fokus använder du den mobila enhetens pekarenhet, exempelvis ett stift eller ditt finger. Använd annars den mobila enhetens navigationsknappar för att ge fältet fokus. Om du vill välja en knapp som har fokus använder du Välj-knappen på den mobila enheten, precis som du använder Retur på en dator. På vissa enheter måste du trycka på knappen två gånger för att välja den. Läs mer om fokus i Hantera fokus. Hantera musåtgärderMånga åtgärder kräver musrörelser. På en dator kan de här musrörelserna inträffa exempelvis när en användare rullar över ett skärmobjekt med musen eller klickar med musknappen på ett skärmobjekt. Rörelser med pekarenheter som stift eller finger kallas pekrörelser på mobila enheter. I Flash Player 10.1 omvandlas pekrörelser till musrörelser. I den omvandlingen garanteras felfri funktion för SWF-innehåll som utvecklades före Flash Player 10.1. Därför fungerar exempel när en pekenhet används för att välja eller dra och visa objekt. PrestandaMobila enheter har mindre bearbetningskraft än stationära enheter. Vissa CPU-krävande exempel uppvisar ibland sämre prestanda på mobila enheter. Till exempel utför exemplet i Exempel på Drawing API: algoritmisk visuell generator omfattande uträkningar och ritningar innan varje bildruta genereras. När exemplet körs på en dator illustreras andra ritnings-API:er. Emellertid är exemplet inte lämpligt på vissa mobila enheter på grund av begränsade prestanda. Mer information om prestanda på mobilenheter finns i Optimera prestanda för Flash-plattformen. God praxisI exemplen tas inte hänsyn till god praxis i programutveckling för mobila enheter. Begränsningar i minne och bearbetningskraft i mobila enheter kräver särskild hänsyn. På liknande sätt finns i användargränssnittet för en liten skärm andra krav än för en stationär skärm. Mer information om hur du utvecklar program för mobilenheter finns i Optimera prestanda för Flash-plattformen. |
|