Index på Monline
Aflevering i Fronter
Titel: ditnavn_ditefternavn-monlineindex
URL: http://ditbrugernavn.monline.dk
Forsiden på Monline
En forside kaldet index.html + mapper og filer udarbejdes anden dag og uploades fra rodmappen på C-drevet – til rodmappen på Monline-adressen med et FTP-program.
Denne index-fil suppleres dagligt med links til nye opgaveløsninger og opdateres i løbet af ugen.

ftp-adresse = monline.dk
brugernavn bliver udleveret
password bliver udleveret
Når forbindelsen til monline er oprettet med FTP, trækkes lokale filer og mapper direkte ud i samme mapper på monline serveren. Strukturen “derude” skal afspejle strukturen “derhjemme”.
Created: 15 February 2009 • by admin
Categories: opgave •statisk
Comments: be the first to comment
Drop_and_Catch classes
fruit class
package { import flash.display.MovieClip; import flash.events.*; public class fruit extends MovieClip { var ySpeed; var points; public function fruit() { } function INIT() { position(); addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { y+=ySpeed; if (y>stage.stageHeight) { position(); } } function position() { y=0; x=Math.random()*stage.stageWidth-width; ySpeed=(Math.random()*10)+2; } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); } } }
basket class
package { import flash.display.MovieClip; import flash.events.*; public class basket extends MovieClip { public function basket() { INIT(); } function INIT() { addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { x=stage.mouseX; y=stage.stageHeight-height; } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); } } }
doc class
package { import flash.display.MovieClip; import flash.events.*; import flash.ui.Mouse; public class doc extends MovieClip { var hart=new fruit ; var knife=new fruit ; var ourBasket=new basket ; var score:int=0; public function doc() { stop(); INIT(); buttonMode=true; } function INIT() { score=0; Mouse.hide(); addChild(hart); hart.gotoAndStop("hart"); hart.points=10; hart.INIT(); addChild(knife); knife.gotoAndStop("knife"); knife.points=-10; knife.INIT(); addChild(ourBasket); ourBasket.INIT(); addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { testCollision(hart); testCollision(knife); } function testCollision(someFruitName) { if (someFruitName.hitTestObject(ourBasket)) { score+= someFruitName.points; someFruitName.position(); result(); } } function result() { trace("Du har " + score + " points"); if (score>20) { EXIT(); gotoAndStop("win"); } if (score<-20) { EXIT(); gotoAndStop("lose"); } } function EXIT() { Mouse.show(); removeEventListener(Event.ENTER_FRAME, update); removeChild(hart); hart.EXIT(); removeChild(knife); knife.EXIT(); removeChild(ourBasket); ourBasket.EXIT(); } function goGame(e:MouseEvent) { gotoAndStop("game"); INIT(); }/**/ } }
Created: 20 October 2008 • by admin
Categories: classes •oevelse
Comments: be the first to comment
Personligt flashspil e08
Deadline Søndag 26-10-2008 – 23:59
Aflevering:
Der skal i Fronter uploades en zip- eller rar-fil, indeholdende en fla-fil og mindst en as-fil. (En flash-fil, og en document class som minimum – gerne flere classes)
Altså: Et personligt udviklet spil – som fungerer.
Spillet og koden skal afspejle hvad du har studeret dig til og lært.
Det må gerne være inspireret af de gennemgåede (eller andre) eksempler, hvis kodningen tager modet fra dig.
Koden skal kommenteres. (/* kommentarer og personlige forklaringer*/) Har du fundet en allerede kommenteret udgave, skal den suppleres med DINE forklaringer så vi kan aflæse DIN forståelse.
- ikke en direkte oversættelse til dansk men en løbende forklaring på hvorfor og hvordan det bliver brugt..
Spillet skal indeholde:
- en Splash side. (indgang med knap til selve spilscenariet)
- en document class-script og gerne andre classes med relevante og forklarende personlige kommentarer.
- et vind-scenarie
- et tab-scenarie
Inspiration:
- Se opgaveformuleringen for hele workshop2
God fornøjelse -
hilsen Kamilla og Brennan
Created: 19 October 2008 • by admin
Categories: opgave
Comments: be the first to comment
Bat_Ball classes
bat class
package { import flash.display.MovieClip; import flash.events.*; public class bat extends MovieClip { public function bat() { //INIT(); } function INIT() { addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { y= stage.stageHeight-(height/2); x= stage.mouseX; } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); } } }
ball class
package { import flash.display.MovieClip; import flash.events.*; public class ball extends MovieClip { var xSpeed=10; var ySpeed=10; var margin=width/2; public function ball() { //INIT(); } function INIT() { y=0+margin; addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { if (x<0+margin) { x=0+margin; xBounce(); } if (x>stage.stageWidth-margin) { x=stage.stageWidth-margin; xBounce(); } if (y<0+margin) { y=0+margin; yBounce(); } if (y>=stage.stageHeight) { y=0+margin; } x+=xSpeed; y+=ySpeed; } function xBounce() { xSpeed=xSpeed*-1; gotoAndPlay("pong"); } function yBounce() { ySpeed=ySpeed*-1; gotoAndPlay("pong"); } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); } } }
doc class
package { import flash.display.MovieClip; import flash.events.*; import flash.text.*; public class doc extends MovieClip { var ourBat = new bat(); var ourBall = new ball(); var score:int; var points:int=1; var scoreMIN:int=-2; var scoreMAX:int=2; public function doc() { stop(); //INIT(); back_but.addEventListener(MouseEvent.CLICK, goGame); } function INIT() { score=0; score_txt.text=score+" points yet"; addChild(ourBat); ourBat.INIT(); addChild(ourBall); ourBall.INIT(); addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { if (ourBall.hitTestObject(ourBat)) { ourBall.yBounce(); score+=points; } if (ourBall.y>stage.stageHeight) { score-=points; } result(); } function result() { //trace("Du har " + score + " points"); score_txt.text="points: "+score+" out of "+scoreMAX ; if (score==scoreMAX) { EXIT(); gotoAndStop("win"); } if (score==scoreMIN) { EXIT(); gotoAndStop("lose"); } } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); removeChild(ourBat); ourBat.EXIT(); removeChild(ourBall); ourBall.EXIT(); } function goGame(e:MouseEvent) { gotoAndStop("game"); INIT(); }/**/ } }
Created: 20 April 2008 • by admin
Categories: classes •oevelse
Comments: be the first to comment
Load presentation
Tilgængelige variabler defineret øverst.
I en class, skal de stå i class definitionen, før constructer’en (hoved-functionen).
var film1:URLRequest = new URLRequest("undermappenavn/anim_playback.swf"); var film2:URLRequest = new URLRequest("undermappenavn/bat_ball_2a.swf"); var film3:URLRequest = new URLRequest("undermappenavn/fruit_extra_new_b.swf");
I en class, vil denne typisk stå i constructor’en:
var ldr:Loader = new Loader();
I nedenstående script loades og vises hver film i hver sin knap-funktion:
film1_but.addEventListener(MouseEvent.MOUSE_DOWN,film1_Handler); function film1_Handler(e:MouseEvent):void { SoundMixer.stopAll(); ldr.load(film1); box_mc.addChild(ldr); stage.frameRate=12; } film2_but.addEventListener(MouseEvent.MOUSE_DOWN,film2_Handler); function film2_Handler(e:MouseEvent):void { SoundMixer.stopAll(); ldr.load(film2); box_mc.addChild(ldr); stage.frameRate=32; } film3_but.addEventListener(MouseEvent.MOUSE_DOWN,film3_Handler); function film3_Handler(e:MouseEvent):void { SoundMixer.stopAll(); ldr.load(film3); box_mc.addChild(ldr); stage.frameRate=32; }
Nedenstående knap-funktioner tømmer loaderen, ændrer boksens egenskaber, og til sidst ‘taler’ direkte til den loadede swf’s egen tidslinie :
unload_but.addEventListener(MouseEvent.MOUSE_DOWN,unload_Handler); function unload_Handler(e:MouseEvent):void { SoundMixer.stopAll(); ldr.unload(); stage.frameRate=12; } distort_but.addEventListener(MouseEvent.MOUSE_DOWN,distort_Handler); function distort_Handler(e:MouseEvent):void { box_mc.scaleX = box_mc.scaleY = .6; box_mc.rotation=9; } normal_but.addEventListener(MouseEvent.MOUSE_DOWN,normal_Handler); function normal_Handler(e:MouseEvent):void { box_mc.scaleX = box_mc.scaleY = .6; box_mc.x = 180; box_mc.y = 64; box_mc.rotation=0; } cheat_but.addEventListener(MouseEvent.MOUSE_DOWN,cheat_Handler); function cheat_Handler(e:MouseEvent):void { MovieClip(ldr.content).gotoAndStop("win"); /* tilsvarende, kaldt fra den loadede swf's tidslinie, ville være: ////////// MovieClip(parent.parent).play(); ///////// */ }
Created: 15 April 2008 • by admin
Categories: as3 •eksempel •navigation •oevelse
Comments: be the first to comment
Sound object
Load lyden
var my_file:URLRequest=new URLRequest("lyd.mp3"); var my_sound:Sound=new Sound(); my_sound.load(my_file);
Når et Sound-objekt først har loadet en lyd, kan det ikke genbruges. Nyt Sound-objekt for ny lyd.
Channel Control
Play og stop
var channel1:SoundChannel; channel1 = my_sound.play(0,10); //fra start, 10 gange channel1.stop();
Position til pause
var pos:int= channel1.position; channel1=my_sound.play(pos);
Stop all sounds
SoundMixer.stopAll();
Link lyden
Forudsætter en importeret lyd i library med linkage-name: ding.
Lyd i library, kan du linke med højreklik > Properties > Export for ActionScript > og classNavn, fx. ‘ding’.
(Flash vil som regel undre sig over, at der ikke ligger en class med det navn, og hvis ikke du med vilje har lavet en ekstern actionscript-fil med samme navn, skal du bare svare ok til dens forslag.)
Derefter kan den kaldes frem således:
//A import flash.media.*; //B var lyd:Sound=new ding(); var sndc:SoundChannel; //C//D //play og stop sndc = lyd.play(); sndc.stop(); //D //stop alle lyde SoundMixer.stopAll();
Created: 10 April 2008 • by admin
Categories: lyd •snippet
Comments: be the first to comment
