Dit is een zelfstudie waarin u stap voor stap leert om interactiviteit toe te voegen aan uw animaties met de Flash WebGL runtime-API. In deze zelfstudie begint u met een eenvoudig FLA-bestand en gebruikt u de API om MovieClip-instanties toe te voegen aan de stage.
-
Download het bestand night_webgl.fla en open het in Adobe Flash Professional CC 2014. U ziet dat het bestand een bitmapafbeelding bevat van een sterrenhemel.
-
Dubbelklik in dit venster op de 'koppelingskolom' naast de MovieClip-ster en typ 'star'. Hiermee geeft u de koppelingsnaam aan waarmee tijdens de runtime de instanties van deze MovieClip kunnen worden gemaakt met de API. Deze stap zorgt er ook voor dat deze MovieClip wordt gepubliceerd, ook als deze niet op de stage wordt gebruikt.
-
var count = 0; function onAdd() { var sgf = player.getScenegraphFactory(); var star = sgf.createMovieClipInstance("star"); player.getStage().addChildAt(star, 0); var x = Math.random() * 540; var y = Math.random() * 180; var s = Math.random(); var mat = new flwebgl.geom.Matrix([s, 0, 0, s, x, y]); star.setLocalTransform(mat); count++; document.getElementById("count").innerHTML = count + (count > 1 ? " stars" : "star"); }
Hier gebeuren meerdere dingen:
- De variabele ‘player’ verwijst naar een instantie van de WebGL-player en vormt de façade van de API.
- Er wordt een verwijzing naar SceneGraphFactory verkregen. Hiermee worden instanties van de MovieClip gemaakt.
- MovieClip-instanties worden gemaakt met de functie createMovieClipInstance() en geven de koppelingsnaam door die u hebt opgegeven in Flash.
- Er wordt een verwijzing naar de stage (basistijdlijn) verkregen van de Player.
- Met de addChildAt()-functie wordt de nieuwe MovieClip-instantie toegevoegd als onderliggend object van de stage. Door de waarde 0 door te geven aan deze functie wordt het onderliggende object boven alle andere onderliggende objecten op de stage toegevoegd (boven de bitmap).
- De positie en grootte van de ster worden ingesteld met behulp van de Matrix-klasse.
Opmerking:
U kunt het voltooide voorbeeld hier downloaden.
Downloaden
Opmerking:
- Aangezien u de WebGL-animatie rendert op een canvas binnen het HTML-bestand, kunt u de omgevende HTML probleemloos wijzigen. In dit voorbeeld wordt bijgehouden hoeveel sterren u hebt gemaakt.
- Het bovenstaande voorbeeld is bedoeld om een begin te maken met interactieve animaties en games. Ga naar de pagina WebGL runtime API-documentatie voor meer informatie over andere manieren om de scène-elementen in te stellen.
- Wanneer u inhoud publiceert, worden de illustraties in Flash geconverteerd naar een GPU-gebruiksvriendelijke indeling. Deze taak vergt veel van de computer en neemt een aantal minuten in beslag. Een goede tactiek is om het aantal lijnen en curves in uw illustratie te beperken. Gebruik de opties voor optimaliseren, vereffenen en rechttrekken van de illustraties in het menu Wijzigen> Vorm om uw illustratie te vereenvoudigen. Dit vereenvoudigt het renderen en verkort de publicatietijd.