ࡱ> LnR g Contentso,Page 1cSymbol 1 WGJ NKHIOMPQRSTUVXYZ[\]^_`abdefghijklmpqrstuvwxyz{|}~RK Contents:Page 1/Symbol 1#G  !"$%&'()*+,-.0123456789;<=>?@ABCDEFGSymbol 2 \Symbol 4LSymbol 5@Symbol 12<Symbol 16 2JSymbol 17*Media 10&Media 11 "Media 8 Media 9Media 21 Media 1Media 2Media 3 Media 4Media 5Media 6  !#$%'()+,-./013456789:;=>?ABCDEFGHIJKMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvw)1xA pzFL.U`ah#l1D8(KSj"UgJIH]Jt).^3'y Ƅsˢ?Rv= Ri> ]\$+*jgb1]{Kb{)1xPA0T5 k pU J <!Q3cLJAę+u;OG;'>X͹$.ę$gi<4[5$bpic=X5N"kYEZ6= ^v/")1xP[ ]H)}!ܽn>> d$HE쭎%'Cqܸ6Q㯀/O ee:Yjf`e^ x⚚|5Ht=rS6*B(+WHW:ޒSdAJllRkB'F*7"ȒeZf \yK!oJD1a+Au)~wmdy V~̇;oeݗ̯Q獗ȫ2ƃF^8!?:x%x3?'{oʛ3⏯is/_~yB94s?sƿzi翿t>m2Qi7}VF>[$wH`.;hp\!efri {x7_8M69|fJՎX>2kR~XпJE^G,gR??E04Ȓ*숼&/C87ɫivDܢ_:s~nI>'63s[Wbհe[\Z#SlkkfA" uO*egR}\Yl?Y(8і5wX.EԚӒ #o7뇨$~`"N~&['#㭝< ȼԒ\qt>`)P!Kz~O^0 ?HKHp W=lb~u '?]zlucNs:Fr*E;;"o濵ɰsY]PW"K?;#"o)/^ub`YW;V"o#(D^4mj:|gy|8&{'닼*c;+x:J/B`('<*I{ٳ_5Ol&"W?z0hmWE7G/e;gOOxfvh7t[a0'KGz#o2ږ-RGN"ED^eF 婝B;Ƈ~?0őr}G˻O#y%F$@67+4>h9mgdޜkk`H̪-i)?\[m'ya_7~ cXT_hWL0E=6a>8X̮54M3/1∷F>bțeG»&'U;=~pgbk~PwYW1엫kj,+vf~zKxlWUԅNWޖEk;;My__eUTqacԴ]P8صod@G^9[>Z^wҊf;1#ڂQkKXyM?һ|n/Fw S%+-/F1yI+e6^4-t(|+$~0cs{ ޺9:?,E ,`sm =i.ߔ]v_^Ȗ1Y1x"O'3; [~_ag'MhەGsƿ8\_<oD(;ʰsX_  *]\;93RG$=їn^? ?{zU96D?^^yMNQqvr+p~h7cnH9.x_|ll۠~Ni2?S~S9<˿U ~D7? d?7O׭>of/&Q(Ɵbӡ숼dVg)m6%qR|q"o?|} ^[cS.JMkQ-nS/H6;k!*Ft>dop |pK~u،Qc˰D^, \gjQ&(ozWd ׃U\[F(cʵ^E_:>=5q3E,_vWSq>6d~dG- ay!nHɯO~5"2ygpzĵq;ǍLx#bm?"o/@q"o/:Ɩ(Y4_m3fw+ƿ/6yP~6C7w ?Uğ~?g?3ᢟ|rs?lfJݫJW&'bB)awo ;2M<5|ˏ]p ~*1[wfJ/"oߟWq]oD6Xww"i=Od./pi5j{"a`6w 6UKR66cR܈ܛkq߯\bkzIuEeK^[QWOՆۆ9 V{;aDVN&1mhul֡}=7m7R܍5YSF!4 Jg`uUY/eDZ4T=,q 0f+l{!c?i[ ~ G!XP,Po/| $N,_3=;x7+K`Tx*6^v׿s"V3: W`8O8ejCn,2U+6)&_05SK_B( ذBlxG3o"~I s>pHƛdyorn x9x$'u32 REOIטsxQⰜVZԠtki|R/'}yc7؁A)0VwN)1xA! BݵQlOLŽ&⩈/"r=Y,sQ^WjC;~A[OP6r`ue(XZ!X^kьs ]Z8q^ Lz]`SYMCPicPage CPicLayer CPicFrame(f% 00? 0000 0000\0#000&03!0 003c000 3z00!03 000 3A00(0#00?limitsOCPicPage CPicLayer CPicFrame CPicBitmap?background imageOO CPicSpritedlimitMC?limitsOOCPicPage CPicLayer CPicFrame?actionsOCPicPage CPicLayer CPicFrame CPicBitmap ? ?bubO??1actionsOOCPicPage CPicLayer CPicFrame CPicBitmap8 ?$ ?bubO?sound JumpSound new Sound())"JumpSound.attachSound("jumpSound"))JumpSound.start()?loop?loopactionsOOCPicPage CPicLayer CPicFrame CPicBitmap ?$ ?$4?$ ?$ ?$ ?$4?$ ?bubO??1actionsOOCPicPage CPicLayer CPicFrame CPicBitmap4? CPicSprite? ? ? images_BUBO??stand?walk?jumpUp?jumpDownlabelsOO?H// bub is in the air at the begining. so we tell us to go to its "jumpDown" frame this.gotoAndStop("jumpDown"); // // *** IMPORTANT NOTE *** // from now on, all the functions located in the first frame (in *PART 4*) of the game are calculated from // an empty movie clip that contains LOAD events and/or ENTERFRAME events. // that empty movie clip (called emptyMC in the library) is located here in the layer called "ACTIONSCRIPT"... // each frame has it's own emptyMC, so they have all different functions activations. // // why i choosed that method: // each bub's position calls different functions... for example, when bub is standing (so without moving), the // function that calculates the limits is not activated... so the idea was to calculate only the needed actions // from each bub's position. it may speed up the game that way.   onClipEvent (enterFrame) { // here, bub is waiting that the player wants to move LEFT or RIGHT _root.move_wait(); // here, bub is waiting that the player wants to JUMP _root.jump_wait(); }?  YonClipEvent (enterFrame) { // -------- // bub is walking... if (_parent._xscale == 100) { // here, to the RIGHT _root.move_right(_root.walkSpeed); // check if the player releases the RIGHT key if (!Key.isDown(_root.Kright)) { _parent.gotoAndStop("stand"); } } else { // here, to the LEFT _root.move_left(_root.walkSpeed); // check if the player releases the LEFT key if (!Key.isDown(_root.Kleft)) { _parent.gotoAndStop("stand"); } } // -------- // check if the player presses JUMP _root.jump_wait(); // -------- // check if the bub is falling _root.fall_wait(); } ?  onClipEvent (load) { // bub's jump height jumpH = -_root.jumpHeight; } onClipEvent (enterFrame) { // bub is jumping _parent._y += jumpH; // // -------- // bub's jump speed is decreasing, and when it reaches 0, you play your "jumpDown" animation jumpH += _root.jumpSpeed; if (jumpH>=0) { _parent.gotoAndStop("jumpDown"); } // // -------- // bub is moving LEFT/RIGHT... if (Key.isDown(_root.Kright)) { _parent._xscale = 100; // here, to the RIGHT _root.move_right(_root.walkSpeed); // check if the player releases the RIGHT key } else if (Key.isDown(_root.Kleft)) { _parent._xscale = -100; // here, to the LEFT _root.move_left(_root.walkSpeed); } } ?  onClipEvent (load) { // bub's jump down speed jumpH = 0; } onClipEvent (enterFrame) { // // -------- // bub's jump down speed is increasing, but it's not faster than 2 if (jumpH<_root.fallSpeed) { jumpH += _root.jumpSpeed; } // // -------- // function that calculate if you are hitting the ground _root.jump_down(jumpH); // // -------- // bub is moving LEFT/RIGHT... if (Key.isDown(_root.Kright)) { _parent._xscale = 100; // here, to the RIGHT _root.move_right(_root.walkSpeed); // check if the player releases the RIGHT key } else if (Key.isDown(_root.Kleft)) { _parent._xscale = -100; // here, to the LEFT _root.move_left(_root.walkSpeed); } } ? ACTIONSCRIPTOO CPicPage CPicLayer CPicFrame CPicSpritedstageMC?stageOO4@ 4@ dbubMC?bubO?// // -------------------------------------------------------------------------------------------------------------------- // BUBBLE BOBBLE 2 (original game produced by TAITO, running on the NINTENDO ENTERTAINMENT SYSTEM) // use it for educationnal purpose ONLY. // -------------------------------------------------------------------------------------------------------------------- // // > type: platform-like game open source // > version: 1.1 // > author: marmotte // > web site: www.marmotte-showcase.fr.st // > mail: marmotte-showcase@fr.st // > additional notes: that open source shows how to create a platform game using ART BASED method (opposed to the TILE BASED method). // honnestly, the TILE BASED method is a lot better if you want to produce a game like that, because you can assign // easily actions/functions for each tile, and create a game a lot more interactive... plus the file size will be very low compared // to an ART BASED game. But of course it's harder to create the engine... anyway, here's a method for your ART BASED needs ^_^ // // -------------------------------------------------------------------------------------------------------------------- // // *** PART 1 *** we start with simple things // -------------------------------------------------------------------------------------------------------------------- // // the game is not full screen fscommand("fullscreen", "false"); // the game is not resizable fscommand("allowscale", "false"); // set the quality of the game to "LOW". that way it will look like an original NES game _quality = "low"; // the limits are invisible this.stageMC.limitMC._visible = false; // // *** PART 2 *** key's configuration // -------------------------------------------------------------------------------------------------------------------- // // these are the keys we will use in that example Kleft = Key.LEFT; Kright = Key.RIGHT; Kjump = Key.SPACE; // // *** PART 3 *** bub's characteristics // -------------------------------------------------------------------------------------------------------------------- // // bub is walking. what is his speed? walkSpeed = 1.5; // when bub jump, what is his jump height? jumpHeight = 7; // bub is jumping. how's the gravity? jumpSpeed = 0.5; // bub is falling. what's his max speed? fallSpeed = 4; // // *** PART 4 *** bub's playability // -------------------------------------------------------------------------------------------------------------------- // *** IMPORTANT NOTE *** // here are the functions that will make BUB able to walk and jump... // NOW all these functions have to be called from somewhere. if it's not the case, they are useless. // in that open source, the functions are called from BUB himself (the MC is called "bubMC"). just double-clic on him and you'll see // a layer called "ACTIONSCRIPT"... there you'll have another useful infos AND the functions activations. // // bub is waiting that the player presses LEFT or RIGHT function move_wait() { if (Key.isDown(Kleft)) { // if needed, bub is flipping this.bubMC._xscale = -100; // bub plays his correct animation this.bubMC.gotoAndStop("walk"); } if (Key.isDown(Kright)) { // if needed, bub is flipping this.bubMC._xscale = 100; // bub plays his correct animation this.bubMC.gotoAndStop("walk"); } } // bub is waiting that the player's wants to JUMP function jump_wait() { if (Key.isDown(Kjump)) { // bub plays his correct animation this.bubMC.gotoAndStop("jumpUp"); } } // bub is looking for the ground... is he falling? function fall_wait() { if (!this.stageMC.limitMC.hitTest(this.bubMC._x, this.bubMC._y, true)) { this.bubMC.gotoAndStop("jumpDown"); } } // bub is walking. he's looking for the limits, so that he cannot walk through the walls (the limit layer is called "limitMC") // bub is moving to the LEFT function move_left(valueX) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x-valueX-8, this.bubMC._y-4, true)) { this.bubMC._x -= valueX; } } // bub is moving to the RIGHT function move_right(valueX) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x+valueX+8, this.bubMC._y-4, true)) { this.bubMC._x += valueX; } } // bub is jumping down function jump_down(valueY) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x, this.bubMC._y-2, true)) { this.bubMC._y += valueY; } else { // if you fall too deep in a limit, then you are placed correctly for (i=1; i<=5; i++) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x, this.bubMC._y-i, true)) { this.bubMC._y -= i-3; break; } } this.bubMC.gotoAndStop("stand"); } }  ACTIONSCRIPTOO  CDocumentPage Page 1Scene 1==`Kx? Symbol 1bubMC=?Ė= 8Kx? Symbol 2bub_walk=?=PSJ= Symbol 4 bub_jumpUp=?U==K= Symbol 5 bub_jumpDown=?=Q = Symbol 12emptyMC  =R= Symbol 16stageMC=$=mw2 Media 21 stage.gif6.:flash works:bubble bobble 2_flash:_stages:stage1.gif==$TBx?L2 Media 1 stand.gif-.:flash works:bubble bobble 2_flash:stand.gif%==?A=2 Media 2 walk1.gif2.:flash works:bubble bobble 2_flash:_bub:walk1.gif==?V=2 Media 3 walk2.gif2.:flash works:bubble bobble 2_flash:_bub:walk2.gif==?\=2 Media 4 walk3.gif2.:flash works:bubble bobble 2_flash:_bub:walk3.gif==?b=2 Media 5 walk4.gif2.:flash works:bubble bobble 2_flash:_bub:walk4.gifƎ==?s=k2 Media 6 walk5.gif2.:flash works:bubble bobble 2_flash:_bub:walk5.gifގ==?s=o2@hhhhff<Vector::Compress Movie0Vector::Version5 CColorDef3PfP0PHP`Px333(3f<03CH3F`3Hxf0f30ff(0f5Hf<`f@x3330333xf3d03]H3Z`3Xx3333303f3PPH33Px`33Px33Pf30f33PHff3(PHf3<x`f3Cxf3Ffff`f03f0ffx0fkHfd`f`x3f033fPH3ffxPH3fdx`3f]x3fZff0f3fPHfff`ffP0xffPxffPH3HfHxH̙n`hx3H33x`3fx`3xx`3̙kx3dfHf3x`ff0xfx0xf̙dxf]`3`f``x`px3`33x3fx3x3xx3nf`f3xffxfxfxxfkx3xfxxxxx3x333f333xfxf3fffffxxH3 HfH(H2`8x`3 `f`̙`(`0xx3xfxx x(xPx3H33x`f3x`3(x`35x3<3`33xf3 x̙3x3(x323x33f3 333(xfH3fx`ff0xf(0xf<xfCf`3fxffx̙fxf(xf5fx3ffff ff((xH3x`f0x̙PPP`3xfx̙P̙(P<x3f̙(xx`3xfxPxPd`3xfx̙PPx3f(xx3fxx3f̙xx3ff`zf*]/pDMCs=$=?BUB=$ images.gif=$=?STAGE=$@Symbol 16 2JSymbol 17*Media 10&Media 11"Media 2Media 3 Media 4Media 5Symbol 2\Symbol 4LSymbol 5@Symbol 12<Media 8 Media 9Media 21 Media 1  !#$%'()+,-./013456789:;=>?ABCDEFGHIJKMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwlimitsOCPicPage CPicLayer CPicFrame CPicBitmap?background imageOO CPicSprited/"r=Y,sQ^WjC;~A[OP6r`ue(XZ!X^kьs ]Z8q^ Lz]`SYMCPicPage CPicLayer CPicFrame(f% 00? 0000 0000\0#000&03!0 003c000 3z00!03 000 3A00(0#00?limitMC?limitsOOCPicPage CPicLayer CPicFrame?actionsOCPicPage CPicLayer CPicFrame CPicBitmap ? ?bubO??1actionsOOCPicPage CPicLayer CPicFrame CPicBitmap8 ?$ ?bubO?sound JumpSound new Sound())"JumpSound.attachSound("jumpSound"))JumpSound.start()?loop?loopactionsOOCPicPage CPicLayer CPicFrame CPicBitmap ?$ ?$4?$ ?$ ?$ ?$4?$ ?bubO??1actionsOOCPicPage CPicLayer CPicFrame CPicBitmap4? CPicSprite? ? ? images_BUBO??stand?walk?jumpUp?jumpDownlabelsOO?H// bub is in the air at the begining. so we tell us to go to its "jumpDown" frame this.gotoAndStop("jumpDown"); // // *** IMPORTANT NOTE *** // from now on, all the functions located in the first frame (in *PART 4*) of the game are calculated from // an empty movie clip that contains LOAD events and/or ENTERFRAME events. // that empty movie clip (called emptyMC in the library) is located here in the layer called "ACTIONSCRIPT"... // each frame has it's own emptyMC, so they have all different functions activations. // // why i choosed that method: // each bub's position calls different functions... for example, when bub is standing (so without moving), the // function that calculates the limits is not activated... so the idea was to calculate only the needed actions // from each bub's position. it may speed up the game that way.   onClipEvent (enterFrame) { // here, bub is waiting that the player wants to move LEFT or RIGHT _root.move_wait(); // here, bub is waiting that the player wants to JUMP _root.jump_wait(); }?  YonClipEvent (enterFrame) { // -------- // bub is walking... if (_parent._xscale == 100) { // here, to the RIGHT _root.move_right(_root.walkSpeed); // check if the player releases the RIGHT key if (!Key.isDown(_root.Kright)) { _parent.gotoAndStop("stand"); } } else { // here, to the LEFT _root.move_left(_root.walkSpeed); // check if the player releases the LEFT key if (!Key.isDown(_root.Kleft)) { _parent.gotoAndStop("stand"); } } // -------- // check if the player presses JUMP _root.jump_wait(); // -------- // check if the bub is falling _root.fall_wait(); } ?  onClipEvent (load) { // bub's jump height jumpH = -_root.jumpHeight; } onClipEvent (enterFrame) { // bub is jumping _parent._y += jumpH; // // -------- // bub's jump speed is decreasing, and when it reaches 0, you play your "jumpDown" animation jumpH += _root.jumpSpeed; if (jumpH>=0) { _parent.gotoAndStop("jumpDown"); } // // -------- // bub is moving LEFT/RIGHT... if (Key.isDown(_root.Kright)) { _parent._xscale = 100; // here, to the RIGHT _root.move_right(_root.walkSpeed); // check if the player releases the RIGHT key } else if (Key.isDown(_root.Kleft)) { _parent._xscale = -100; // here, to the LEFT _root.move_left(_root.walkSpeed); } } ?  onClipEvent (load) { // bub's jump down speed jumpH = 0; } onClipEvent (enterFrame) { // // -------- // bub's jump down speed is increasing, but it's not faster than 2 if (jumpH<_root.fallSpeed) { jumpH += _root.jumpSpeed; } // // -------- // function that calculate if you are hitting the ground _root.jump_down(jumpH); // // -------- // bub is moving LEFT/RIGHT... if (Key.isDown(_root.Kright)) { _parent._xscale = 100; // here, to the RIGHT _root.move_right(_root.walkSpeed); // check if the player releases the RIGHT key } else if (Key.isDown(_root.Kleft)) { _parent._xscale = -100; // here, to the LEFT _root.move_left(_root.walkSpeed); } } ? ACTIONSCRIPTOO CPicPage CPicLayer CPicFrame CPicSpritedstageMC?stageOO4@ 4@ dbubMC?bubO?// // -------------------------------------------------------------------------------------------------------------------- // BUBBLE BOBBLE 2 (original game produced by TAITO, running on the NINTENDO ENTERTAINMENT SYSTEM) // use it for educationnal purpose ONLY. // -------------------------------------------------------------------------------------------------------------------- // // > type: platform-like game open source // > version: 1.1 // > author: marmotte // > web site: www.marmotte-showcase.fr.st // > mail: marmotte-showcase@fr.st // > additional notes: that open source shows how to create a platform game using ART BASED method (opposed to the TILE BASED method). // honnestly, the TILE BASED method is a lot better if you want to produce a game like that, because you can assign // easily actions/functions for each tile, and create a game a lot more interactive... plus the file size will be very low compared // to an ART BASED game. But of course it's harder to create the engine... anyway, here's a method for your ART BASED needs ^_^ // // -------------------------------------------------------------------------------------------------------------------- // // *** PART 1 *** we start with simple things // -------------------------------------------------------------------------------------------------------------------- // // the game is not full screen fscommand("fullscreen", "false"); // the game is not resizable fscommand("allowscale", "false"); // set the quality of the game to "LOW". that way it will look like an original NES game _quality = "low"; // the limits are invisible this.stageMC.limitMC._visible = false; // // *** PART 2 *** key's configuration // -------------------------------------------------------------------------------------------------------------------- // // these are the keys we will use in that example Kleft = Key.LEFT; Kright = Key.RIGHT; Kjump = Key.SPACE; // // *** PART 3 *** bub's characteristics // -------------------------------------------------------------------------------------------------------------------- // // bub is walking. what is his speed? walkSpeed = 1.5; // when bub jump, what is his jump height? jumpHeight = 7; // bub is jumping. how's the gravity? jumpSpeed = 0.5; // bub is falling. what's his max speed? fallSpeed = 4; // // *** PART 4 *** bub's playability // -------------------------------------------------------------------------------------------------------------------- // *** IMPORTANT NOTE *** // here are the functions that will make BUB able to walk and jump... // NOW all these functions have to be called from somewhere. if it's not the case, they are useless. // in that open source, the functions are called from BUB himself (the MC is called "bubMC"). just double-clic on him and you'll see // a layer called "ACTIONSCRIPT"... there you'll have another useful infos AND the functions activations. // // bub is waiting that the player presses LEFT or RIGHT function move_wait() { if (Key.isDown(Kleft)) { // if needed, bub is flipping this.bubMC._xscale = -100; // bub plays his correct animation this.bubMC.gotoAndStop("walk"); } if (Key.isDown(Kright)) { // if needed, bub is flipping this.bubMC._xscale = 100; // bub plays his correct animation this.bubMC.gotoAndStop("walk"); } } // bub is waiting that the player's wants to JUMP function jump_wait() { if (Key.isDown(Kjump)) { // bub plays his correct animation this.bubMC.gotoAndStop("jumpUp"); } } // bub is looking for the ground... is he falling? function fall_wait() { if (!this.stageMC.limitMC.hitTest(this.bubMC._x, this.bubMC._y, true)) { this.bubMC.gotoAndStop("jumpDown"); } } // bub is walking. he's looking for the limits, so that he cannot walk through the walls (the limit layer is called "limitMC") // bub is moving to the LEFT function move_left(valueX) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x-valueX-8, this.bubMC._y-4, true)) { this.bubMC._x -= valueX; } } // bub is moving to the RIGHT function move_right(valueX) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x+valueX+8, this.bubMC._y-4, true)) { this.bubMC._x += valueX; } } // bub is jumping down function jump_down(valueY) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x, this.bubMC._y-2, true)) { this.bubMC._y += valueY; } else { // if you fall too deep in a limit, then you are placed correctly for (i=1; i<=5; i++) { if (!this.stageMC.limitMC.hitTest(this.bubMC._x, this.bubMC._y-i, true)) { this.bubMC._y -= i-3; break; } } this.bubMC.gotoAndStop("stand"); } }  ACTIONSCRIPTOO  CDocumentPage Page 1Scene 1==`Kx? Symbol 1bubMC=?Ė= 8Kx? Symbol 2bub_walk=?=PSJ= Symbol 4 bub_jumpUp=?U==K= Symbol 5 bub_jumpDown=?=Q = Symbol 12emptyMC  =R= Symbol 16stageMC=$=mw2 Media 21 stage.gif6.:flash works:bubble bobble 2_flash:_stages:stage1.gif==$TBx?L2 Media 1 stand.gif-.:flash works:bubble bobble 2_flash:stand.gif%==?A=2 Media 2 walk1.gif2.:flash works:bubble bobble 2_flash:_bub:walk1.gif==?V=2 Media 3 walk2.gif2.:flash works:bubble bobble 2_flash:_bub:walk2.gif==?\=2 Media 4 walk3.gif2.:flash works:bubble bobble 2_flash:_bub:walk3.gif==?b=2 Media 5 walk4.gif2.:flash works:bubble bobble 2_flash:_bub:walk4.gifƎ==?s=k2 Media 6 walk5.gif2.:flash works:bubble bobble 2_flash:_bub:walk5.gifގ==?s=o2@hhhhff<z PublishRNWKProperties::speed256K0!PublishGifProperties::PaletteName"PublishHtmlProperties::StartPaused0%PublishFormatProperties::htmlFileNameOS_bobble_v1.1.html PublishQTProperties::LayerOption PublishQTProperties::AlphaOption"PublishQTProperties::MatchMovieDim1PublishHtmlProperties::Loop1Vector::Debugging Permitted0PublishFormatProperties::jpeg0&PublishRNWKProperties::speedSingleISDN0&PublishRNWKProperties::singleRateAudio0PublishQTProperties::Width256$PublishPNGProperties::OptimizeColors1PublishHtmlProperties::Units0%PublishRNWKProperties::mediaCopyright(c) 2000#PublishRNWKProperties::flashBitRate1200PublishGifProperties::Smooth1&PublishFormatProperties::flashFileNameOS_bobble_v1.1.swf%PublishFormatProperties::projectorMac0Vector::Compress Movie0!PublishRNWKProperties::exportSMIL1 PublishRNWKProperties::speed384K0"PublishRNWKProperties::exportAudio1"PublishGifProperties::DitherOptionPublishHtmlProperties::Quality4(PublishHtmlProperties::VerticalAlignment1$PublishFormatProperties::pngFileNameOS_bobble_v1.1.pngPublishFormatProperties::html0'PublishRNWKProperties::mediaDescription"PublishPNGProperties::FilterOption!PublishHtmlProperties::DeviceFont0Vector::Override Sounds0PublishQTProperties::Flatten1PublishJpegProperties::DPI4718592PublishPNGProperties::BitDepth24 bits avec AlphaPublishPNGProperties::Smooth1"PublishGifProperties::DitherSolids0PublishGifProperties::Interlace0"PublishHtmlProperties::DisplayMenu1*PublishHtmlProperties::HorizontalAlignment1Vector::Quality80Vector::Protect0Vector::Template0*PublishFormatProperties::generatorFileNameOS_bobble_v1.1.swtPublishFormatProperties::gif0$PublishRNWKProperties::mediaKeywords!PublishRNWKProperties::mediaTitlePublishRNWKProperties::speed28K1PublishGifProperties::Loop1PublishGifProperties::Width256#PublishFormatProperties::qtFileNameOS_bobble_v1.1.mov$PublishRNWKProperties::speedDualISDN0$PublishRNWKProperties::realVideoRate100000PublishJpegProperties::Quality80"PublishPNGProperties::DitherOption#PublishGifProperties::PaletteOption#PublishGifProperties::MatchMovieDim1PublishFormatProperties::flash1$PublishJpegProperties::MatchMovieDim1#PublishPNGProperties::PaletteOption#PublishPNGProperties::MatchMovieDim1PublishHtmlProperties::Align0-PublishFormatProperties::projectorWinFileNameOS_bobble_v1.1.exe#PublishQTProperties::PlayEveryFrame0"PublishJpegProperties::Progressive0"PublishPNGProperties::DitherSolids0PublishHtmlProperties::Height240PublishHtmlProperties::Width256Vector::Debugging PasswordVector::Omit Trace Actions0%PublishFormatProperties::jpegFileNameOS_bobble_v1.1.jpgPublishJpegProperties::Size0PublishPNGProperties::Interlace0PublishGifProperties::Height240'PublishHtmlProperties::TemplateFileNamejmarmotte HD:Users:marmotte:Library:Application Support:Macromedia:Flash MX:Configuration:HTML:Default.html!PublishHtmlProperties::WindowMode0Vector::TopDown0-PublishFormatProperties::projectorMacFileNameOS_bobble_v1.1 ProjectorPublishFormatProperties::rnwk0PublishFormatProperties::png0PublishRNWKProperties::speed56K1PublishQTProperties::Height240%PublishPNGProperties::RemoveGradients0PublishGifProperties::MaxColors255'PublishGifProperties::TransparentOptionPublishGifProperties::LoopCountVector::Report0"PublishFormatProperties::generator0"PublishRNWKProperties::audioFormat0$PublishGifProperties::OptimizeColors1Vector::Event Format0Vector::Stream Compress7PublishFormatProperties::qt0Vector::Version5 PublishRNWKProperties::speed512K0PublishJpegProperties::Height240PublishPNGProperties::Height240PublishPNGProperties::Width256%PublishGifProperties::RemoveGradients0PublishHtmlProperties::Scale0Vector::Event Compress7"PublishRNWKProperties::mediaAuthor(PublishRNWKProperties::speedCorporateLAN0&PublishRNWKProperties::showBitrateDlog1"PublishRNWKProperties::exportFlash1PublishQTProperties::Looping0*PublishQTProperties::UseQTSoundCompression0PublishJpegProperties::Width256!PublishPNGProperties::PaletteName!PublishPNGProperties::Transparent0&PublishGifProperties::TransparentAlpha128PublishGifProperties::Animated0Vector::Stream Format0$PublishFormatProperties::gifFileNameOS_bobble_v1.1.gif"PublishQTProperties::PausedAtStart0%PublishQTProperties::ControllerOption0PublishPNGProperties::MaxColors255%PublishFormatProperties::rnwkFileNameOS_bobble_v1.1.smil%PublishFormatProperties::projectorWin0%PublishFormatProperties::defaultNames1PropSheet::ActiveTab1621 CColorDef3PfP0PHP`Px333(3f<03CH3F`3Hxf0f30ff(0f5Hf<`f@x3330333xf3d03]H3Z`3Xx3333303f3PPH33Px`33Px33Pf30f33PHff3(PHf3<x`f3Cxf3Ffff`f03f0ffx0fkHfd`f`x3f033fPH3ffxPH3fdx`3f]x3fZff0f3fPHfff`ffP0xffPxffPH3HfHxH̙n`hx3H33x`3fx`3xx`3̙kx3dfHf3x`ff0xfx0xf̙dxf]`3`f``x`px3`33x3fx3x3xx3nf`f3xffxfxfxxfkx3xfxxxxx3x333f333xfxf3fffffxxH3 HfH(H2`8x`3 `f`̙`(`0xx3xfxx x(xPx3H33x`f3x`3(x`35x3<3`33xf3 x̙3x3(x323x33f3 333(xfH3fx`ff0xf(0xf<xfCf`3fxffx̙fxf(xf5fx3ffff ff((xH3x`f0x̙PPP`3xfx̙P̙(P<x3f̙(xx`3xfxPxPd`3xfx̙PPx3f(xx3fxx3f̙xx3ff`zf*]/pDMCs=$=?BUB=$ images.gif=$=?STAGE=$"PublishQTProperties::QTSndSettingsCQTAudioSettings@