SHOW:
|
|
- or go back to the newest paste.
| 1 | g.onPress = function () {
| |
| 2 | gotoAndStop(15); | |
| 3 | } | |
| 4 | ||
| 5 | var snd:Sound; | |
| 6 | if ( snd == undefined ) { // ha még nincs értéke
| |
| 7 | snd = new Sound(); // hozzuk létre az objektumot | |
| 8 | snd.attachSound("durr"); // társítsuk a hangot a library-ból
| |
| 9 | } | |
| 10 | ct._x = Math.random() * 550; // 550 a vászon szélessége | |
| 11 | ct._y = Math.random() * 400; // 400 a vászon magassága | |
| 12 | ||
| 13 | //random tartomány generálása | |
| 14 | function randomRange(minNum:Number, maxNum:Number):Number{
| |
| 15 | - | return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum); |
| 15 | + | return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum); |
| 16 | } | |
| 17 | ||
| 18 | ||
| 19 | // véletlenszerűen ugorjunk előre néhány képkockát | |
| 20 | ct.gotoAndPlay( Math.floor(Math.random()*6 ) ); | |
| 21 | ||
| 22 | ct.onMouseDown = function() { // Ha lenyomják a mouse gombját
| |
| 23 | snd.start(); // játszuk le a puskalövést | |
| 24 | - | var dx = ct._x - _xmouse; // céltábla és az egér különbsége (x mentén) |
| 24 | + | var dx = ct._x - _xmouse; // céltábla és az egér különbsége (x mentén) |
| 25 | - | var dy = ct._y - _ymouse; // különbség (y mentén) |
| 25 | + | var dy = ct._y - _ymouse; // különbség (y mentén) |
| 26 | - | score = Math.sqrt( dx*dx + dy*dy ); // távolság |
| 26 | + | score = Math.sqrt( dx*dx + dy*dy ); // távolság |
| 27 | } | |
| 28 | ||
| 29 | ||
| 30 | ||
| 31 | var url = "http://www.inf.u-szeged.hu/~bodnaar/multimedia/african_child.mp3"; | |
| 32 | var s:Sound = new Sound(); | |
| 33 | var isReady:Boolean = false; | |
| 34 | var isPlaying:Boolean = false; | |
| 35 | var cPos:Number = 0; | |
| 36 | ||
| 37 | s.onLoad = function(){
| |
| 38 | - | isReady = true; |
| 38 | + | isReady = true; |
| 39 | } | |
| 40 | ||
| 41 | s.loadSound(url); | |
| 42 | ||
| 43 | startgomb1.onPress = function(){
| |
| 44 | - | if (isReady && !isPlaying) {
|
| 44 | + | if (isReady && !isPlaying) {
|
| 45 | - | s.start(cPos / 1000, 9999); |
| 45 | + | s.start(cPos / 1000, 9999); |
| 46 | - | isPlaying = true; |
| 46 | + | isPlaying = true; |
| 47 | - | startgomb1._visible = false; |
| 47 | + | startgomb1._visible = false; |
| 48 | - | } |
| 48 | + | |
| 49 | } | |
| 50 | ||
| 51 | onEnterFrame = function(){
| |
| 52 | - | cPos = s.position; |
| 52 | + | cPos = s.position; |
| 53 | - | bytes = s.getBytesLoaded(); |
| 53 | + | bytes = s.getBytesLoaded(); |
| 54 | } | |
| 55 | ||
| 56 | - | stopgomb1.onPress = function(){
|
| 56 | + | stopgomb1.onPress = function(){
|
| 57 | - | s.stop(); |
| 57 | + | s.stop(); |
| 58 | - | isPlaying = false; |
| 58 | + | isPlaying = false; |
| 59 | - | startgomb1._visible = true; |
| 59 | + | startgomb1._visible = true; |
| 60 | } | |
| 61 | ||
| 62 | ||
| 63 | d = new Date(); | |
| 64 | mp._rotation = 180 * d.getSeconds() / 30; | |
| 65 | nagy._rotation = 180 * d.getMinutes() / 30; | |
| 66 | kis._rotation = 180 * (d.getHours() % 12 ) / 6; | |
| 67 | ||
| 68 | // movie clip hozzáadása | |
| 69 | _root.attachMovie("MC_zombie", "z1", _root.getNextHighestDepth())
| |
| 70 | //vagy | |
| 71 | game.s.attachMovie("tronMC", tronBlockCounter, tronBlockCounter, {_x: x*blockSize, _y: y*blockSize});
| |
| 72 | ||
| 73 | // movie clip eltávolítása | |
| 74 | fuel.removeMovieClip() | |
| 75 | ||
| 76 | // vízszintes tükrözés | |
| 77 | setProperty(launcher, _xscale, 100) | |
| 78 | ||
| 79 | // hit test, true tehát kiértékeli a határvonalakat egyébként befogó négyzet lenne | |
| 80 | falHit = fal.hitTest(rocket._x, rocket._y, true) | |
| 81 | falHit = fal.hitTest(rocket._x, rocket._y, true) | |
| 82 | ||
| 83 | // tween dinamikus létrehozása | |
| 84 | var tween:mx.transitions.Tween = new mx.transitions.Tween( // dinamikusan létrehoz egy tweent | |
| 85 | - | tabla[i][j], "_y", // ezt a MC-t fogja tweenelni, és a tulajdonság, amit tweenel rajta |
| 85 | + | tabla[i][j], "_y", // ezt a MC-t fogja tweenelni, és a tulajdonság, amit tweenel rajta |
| 86 | - | mx.transitions.easing.Regular.easeIn, // easing |
| 86 | + | mx.transitions.easing.Regular.easeIn, // easing |
| 87 | - | kepy(j), kepy(ures), (ures-j)*0.2, true); // induló érték, befejező érték, időtartam, sec/frame |
| 87 | + | kepy(j), kepy(ures), (ures-j)*0.2, true); // induló érték, befejező érték, időtartam, sec/frame |
| 88 | // tween vége event | |
| 89 | tween.onMotionFinished = function() { // amikor a tween befejezodik
| |
| 90 | - | _root.mozgoElemekSzama--; //csökkenti a számlálót |
| 90 | + | _root.mozgoElemekSzama--; //csökkenti a számlálót |
| 91 | } | |
| 92 | ||
| 93 | ||
| 94 | // key listener | |
| 95 | keyListener = new Object(); | |
| 96 | keyListener.onKeyDown = function() {
| |
| 97 | - | var keyCode = Key.getCode(); |
| 97 | + | var keyCode = Key.getCode(); |
| 98 | - | if (keyCode > 36 && keyCode < 41) {
|
| 98 | + | if (keyCode > 36 && keyCode < 41) {
|
| 99 | - | if (game.onEnterFrame != undefined) { // only allow moves if the game is running, and is not paused
|
| 99 | + | if (game.onEnterFrame != undefined) { // only allow moves if the game is running, and is not paused
|
| 100 | - | if (keyCode-37 != turnQueue[0]) { // ...and it's different from the last key pressed
|
| 100 | + | if (keyCode-37 != turnQueue[0]) { // ...and it's different from the last key pressed
|
| 101 | - | turnQueue.unshift(keyCode-37); // save the key (or rather direction) in the turnQueue |
| 101 | + | turnQueue.unshift(keyCode-37); // save the key (or rather direction) in the turnQueue |
| 102 | - | } |
| 102 | + | } |
| 103 | - | } |
| 103 | + | } |
| 104 | - | } else if (keyCode == 32) { // start the game if it's not started (32 = SPACE)
|
| 104 | + | } else if (keyCode == 32) { // start the game if it's not started (32 = SPACE)
|
| 105 | - | if (!gameRunning) {
|
| 105 | + | if (!gameRunning) {
|
| 106 | - | startGame(); |
| 106 | + | startGame(); |
| 107 | - | } |
| 107 | + | } |
| 108 | - | } |
| 108 | + | } |
| 109 | }; | |
| 110 | Key.addListener(keyListener); | |
| 111 | ||
| 112 | // mouse listener | |
| 113 | var listener:Object = new Object(); | |
| 114 | listener.onMouseMove = function() {
| |
| 115 | - | // itt hogy mit csináljon |
| 115 | + | // itt hogy mit csináljon |
| 116 | } | |
| 117 | Mouse.addListener(listener); | |
| 118 | ||
| 119 | // timer | |
| 120 | // üzemanyag timer | |
| 121 | // timer egy movie clip amiben egy shape van | |
| 122 | timer.onEnterFrame = function() {
| |
| 123 | - | if ( pause ) return; |
| 123 | + | if ( pause ) return; |
| 124 | - | this._width -= 10; |
| 124 | + | this._width -= 10; |
| 125 | - | if ( this._width <= 1 ) {
|
| 125 | + | if ( this._width <= 1 ) {
|
| 126 | - | handleHit() |
| 126 | + | handleHit() |
| 127 | - | this._width= 300; |
| 127 | + | this._width= 300; |
| 128 | - | } |
| 128 | + | |
| 129 | } | |
| 130 | ||
| 131 | ||
| 132 | ||
| 133 | // ez a függvény hívódik meg klikkelés esetén | |
| 134 | function klikk() {
| |
| 135 | - | if ( mozgoElemekSzama != 0 ) return; // ha van mozgó elem, akkor ne csináljon semmit |
| 135 | + | if ( mozgoElemekSzama != 0 ) return; // ha van mozgó elem, akkor ne csináljon semmit |
| 136 | - | var i,j; |
| 136 | + | var i,j; |
| 137 | - | var list:Array = []; // a feldolgozandó szomszédok listája |
| 137 | + | var list:Array = []; // a feldolgozandó szomszédok listája |
| 138 | - | var szomszed:Array = []; // a feldolgozott szomszédok |
| 138 | + | var szomszed:Array = []; // a feldolgozott szomszédok |
| 139 | - | var sx=[-1,1, 0,0]; // a 4 szomszéd relatív x koord |
| 139 | + | var sx=[-1,1, 0,0]; // a 4 szomszéd relatív x koord |
| 140 | - | var sy=[0 ,0,-1,1]; // ill. y |
| 140 | + | var sy=[0 ,0,-1,1]; // ill. y |
| 141 | ||
| 142 | - | for ( i = 0; i < X; i++ )// a bejárás kezdőállapotának beállítása |
| 142 | + | for ( i = 0; i < X; i++ )// a bejárás kezdőállapotának beállítása |
| 143 | - | for ( j = 0;j < Y; j++ ) |
| 143 | + | for ( j = 0;j < Y; j++ ) |
| 144 | - | tabla[i][j].bejar = false; // kezdetben egyetlen bogyót sem látogattunk meg |
| 144 | + | tabla[i][j].bejar = false; // kezdetben egyetlen bogyót sem látogattunk meg |
| 145 | ||
| 146 | - | list.push(this); // induljunk ki abból a bogyóbol amelyikre ráklikkeltünk |
| 146 | + | list.push(this); // induljunk ki abból a bogyóbol amelyikre ráklikkeltünk |
| 147 | - | this.bejar=true; // járjuk is be iziben |
| 147 | + | this.bejar=true; // járjuk is be iziben |
| 148 | - | |
| 148 | + | |
| 149 | - | while( list.length > 0 ) { // amig van feldolgozandó szomszed
|
| 149 | + | while( list.length > 0 ) { // amig van feldolgozandó szomszed
|
| 150 | - | var a = list.pop(); // vegyünk ki egyet |
| 150 | + | var a = list.pop(); // vegyünk ki egyet |
| 151 | - | szomszed.push(a); // tegyük át a véglegesbe |
| 151 | + | szomszed.push(a); // tegyük át a véglegesbe |
| 152 | - | for( i = 0; i < 4; i++ ) { // mind a négy szomszédjára
|
| 152 | + | for( i = 0; i < 4; i++ ) { // mind a négy szomszédjára
|
| 153 | - | var b = tabla[a.x+sx[i]][a.y+sy[i]]; // b az akttuális elem (a) szomszédja |
| 153 | + | var b = tabla[a.x+sx[i]][a.y+sy[i]]; // b az akttuális elem (a) szomszédja |
| 154 | - | if ( b.szin == this.szin && b.bejar == false ) { // ha ugyanolyan színű mint az eredeti és még nem jártuk be
|
| 154 | + | if ( b.szin == this.szin && b.bejar == false ) { // ha ugyanolyan színű mint az eredeti és még nem jártuk be
|
| 155 | - | list.push(b); // vegyük fel a feldolgozandók listajára |
| 155 | + | list.push(b); // vegyük fel a feldolgozandók listajára |
| 156 | - | b.bejar = true; // jegyezzük fel, hogy itt már jártunk |
| 156 | + | b.bejar = true; // jegyezzük fel, hogy itt már jártunk |
| 157 | - | } |
| 157 | + | } |
| 158 | - | } |
| 158 | + | } |
| 159 | } | |
| 160 | - | if ( szomszed.length > 1 ) { // ha van elegendő bogyó egymás mellett
|
| 160 | + | if ( szomszed.length > 1 ) { // ha van elegendő bogyó egymás mellett
|
| 161 | - | while( szomszed.length > 0 ) {
|
| 161 | + | while( szomszed.length > 0 ) {
|
| 162 | - | var a = szomszed.pop();// vegyük ki az MC-ket |
| 162 | + | var a = szomszed.pop();// vegyük ki az MC-ket |
| 163 | - | tabla[a.x][a.y] = null;// töröljük a tábláról |
| 163 | + | tabla[a.x][a.y] = null;// töröljük a tábláról |
| 164 | - | a.play(); // játsza le az eltűnés animációt (aminek a végén el is távolítja magát removeMovieclip()-el) |
| 164 | + | a.play(); // játsza le az eltűnés animációt (aminek a végén el is távolítja magát removeMovieclip()-el) |
| 165 | - | } |
| 165 | + | } |
| 166 | - | |
| 166 | + | |
| 167 | - | var ures:Number = 0; // itt kezdődik a zuhantatásért felelős rész |
| 167 | + | var ures:Number = 0; // itt kezdődik a zuhantatásért felelős rész |
| 168 | - | for ( i=0; i < X;i++ ) { // minden oszlopra keressük meg az első üreset
|
| 168 | + | for ( i=0; i < X;i++ ) { // minden oszlopra keressük meg az első üreset
|
| 169 | - | ures = -1; // az üres kezdetben érvénytelen |
| 169 | + | ures = -1; // az üres kezdetben érvénytelen |
| 170 | - | for ( j = Y-1; j >=0; j-- ) { // alulról lépkedünk felfelé
|
| 170 | + | for ( j = Y-1; j >=0; j-- ) { // alulról lépkedünk felfelé
|
| 171 | - | if ( ures == -1 && tabla[i][j] == null ) ures = j; // ha megvan az első üres, akkor jegyezzük meg |
| 171 | + | if ( ures == -1 && tabla[i][j] == null ) ures = j; // ha megvan az első üres, akkor jegyezzük meg |
| 172 | - | else if ( ures != -1 && tabla[i][j] != null ) { // ha már tudjuk hol az üres, és találtunk egy bogyót a táblán
|
| 172 | + | else if ( ures != -1 && tabla[i][j] != null ) { // ha már tudjuk hol az üres, és találtunk egy bogyót a táblán
|
| 173 | - | tabla[i][ures] = tabla[i][j]; // a megtalált bogyó kerüljön az üres helyére |
| 173 | + | tabla[i][ures] = tabla[i][j]; // a megtalált bogyó kerüljön az üres helyére |
| 174 | - | tabla[i][j].y = ures; // a megtalált bogyó eltárolja hogy melyik sorba került |
| 174 | + | tabla[i][j].y = ures; // a megtalált bogyó eltárolja hogy melyik sorba került |
| 175 | - | mozgoElemekSzama++; |
| 175 | + | mozgoElemekSzama++; |
| 176 | - | var tween:mx.transitions.Tween = new mx.transitions.Tween( // dinamikusan létrehoz egy tweent |
| 176 | + | var tween:mx.transitions.Tween = new mx.transitions.Tween( // dinamikusan létrehoz egy tweent |
| 177 | - | tabla[i][j], "_y", // ezt a MC-t fogja tweenelni, és a tulajdonság, amit tweenel rajta |
| 177 | + | tabla[i][j], "_y", // ezt a MC-t fogja tweenelni, és a tulajdonság, amit tweenel rajta |
| 178 | - | mx.transitions.easing.Regular.easeIn, // easing |
| 178 | + | mx.transitions.easing.Regular.easeIn, // easing |
| 179 | - | kepy(j), kepy(ures), (ures-j)*0.2, true); // induló érték, befejező érték, időtartam, sec/frame |
| 179 | + | kepy(j), kepy(ures), (ures-j)*0.2, true); // induló érték, befejező érték, időtartam, sec/frame |
| 180 | - | tween.onMotionFinished = function() { // amikor a tween befejezodik
|
| 180 | + | tween.onMotionFinished = function() { // amikor a tween befejezodik
|
| 181 | - | _root.mozgoElemekSzama--; //csökkenti a számlálót |
| 181 | + | _root.mozgoElemekSzama--; //csökkenti a számlálót |
| 182 | - | } |
| 182 | + | } |
| 183 | - | //tabala[i][j]._y = kepy(ures); // tween nélkül |
| 183 | + | //tabala[i][j]._y = kepy(ures); // tween nélkül |
| 184 | - | tabla[i][j] = null; // na, ezt már rátok bízom :) |
| 184 | + | tabla[i][j] = null; // na, ezt már rátok bízom :) |
| 185 | - | ures--; |
| 185 | + | ures--; |
| 186 | - | } |
| 186 | + | } |
| 187 | - | } |
| 187 | + | } |
| 188 | - | } |
| 188 | + | } |
| 189 | - | } |
| 189 | + | |
| 190 | } | |
| 191 | ||
| 192 | // vonalak rajzolása | |
| 193 | var N = 8; | |
| 194 | var M = 6; | |
| 195 | var W = 40; | |
| 196 | // rács rajzolásához a vonal stílus beállítása | |
| 197 | - | lineStyle(2, 0x555555, 100); |
| 197 | + | lineStyle(2, 0x555555, 100); |
| 198 | - | // függőleges vonalak megrajzolása |
| 198 | + | // függőleges vonalak megrajzolása |
| 199 | - | for ( i = 0; i <= N; i++ ) {
|
| 199 | + | for ( i = 0; i <= N; i++ ) {
|
| 200 | - | moveTo(i*W , 110-W/2); |
| 200 | + | moveTo(i*W , 110-W/2); |
| 201 | - | lineTo(i*W , M*W+110-W/2); |
| 201 | + | lineTo(i*W , M*W+110-W/2); |
| 202 | - | } |
| 202 | + | |
| 203 | - | //alsó vízszintes vonal megrajzolása |
| 203 | + | //alsó vízszintes vonal megrajzolása |
| 204 | - | moveTo(0, M*W+110-W/2 ); |
| 204 | + | moveTo(0, M*W+110-W/2 ); |
| 205 | - | lineTo(N*W, M*W+110-W/2); |
| 205 | + | lineTo(N*W, M*W+110-W/2); |
| 206 | ||
| 207 | // rajzolás | |
| 208 | var drawing = false | |
| 209 | // ecset alapvastagság | |
| 210 | var BRUSH_WIDTH:Number = 20 | |
| 211 | // paletta | |
| 212 | var colors:Array = new Array( | |
| 213 | - | 0x000000, 0xffffff, 0x999999, |
| 213 | + | 0x000000, 0xffffff, 0x999999, |
| 214 | - | 0xc32c35, 0xf2b741, 0x427d29, |
| 214 | + | 0xc32c35, 0xf2b741, 0x427d29, |
| 215 | - | 0x3d81a8, 0xe95e97, 0xf1fb4d, |
| 215 | + | 0x3d81a8, 0xe95e97, 0xf1fb4d, |
| 216 | - | 0x83f24b, 0x78f8fb) |
| 216 | + | 0x83f24b, 0x78f8fb) |
| 217 | // segéd MovieClip referencia | |
| 218 | var mc:MovieClip | |
| 219 | ||
| 220 | // paletta movieclipek rajzolása | |
| 221 | for (var i = 0; i<colors.length; i++){
| |
| 222 | - | // új példány megfelelő helyre |
| 222 | + | // új példány megfelelő helyre |
| 223 | - | mc = _root.attachMovie("ColorBtn","cb"+i,_root.getNextHighestDepth())
|
| 223 | + | mc = _root.attachMovie("ColorBtn","cb"+i,_root.getNextHighestDepth())
|
| 224 | - | mc._y = 340 |
| 224 | + | mc._y = 340 |
| 225 | - | mc._x = 20+i*25; |
| 225 | + | mc._x = 20+i*25; |
| 226 | - | // adott színnel rajzolunk bele egy négyzetet |
| 226 | + | // adott színnel rajzolunk bele egy négyzetet |
| 227 | - | mc.beginFill(colors[i]); |
| 227 | + | mc.beginFill(colors[i]); |
| 228 | - | mc.moveTo(0,0) |
| 228 | + | mc.moveTo(0,0) |
| 229 | - | mc.lineTo(20,0) |
| 229 | + | mc.lineTo(20,0) |
| 230 | - | mc.lineTo(20,20) |
| 230 | + | mc.lineTo(20,20) |
| 231 | - | mc.lineTo(0,20) |
| 231 | + | mc.lineTo(0,20) |
| 232 | - | mc.lineTo(0,0) |
| 232 | + | mc.lineTo(0,0) |
| 233 | - | mc.endFill() |
| 233 | + | mc.endFill() |
| 234 | - | // letároljuk a festőszínt |
| 234 | + | // letároljuk a festőszínt |
| 235 | - | mc.colorData = colors[i] |
| 235 | + | mc.colorData = colors[i] |
| 236 | - | // eseménykezelőt adunk hozzá |
| 236 | + | // eseménykezelőt adunk hozzá |
| 237 | - | mc.onPress = changeColor |
| 237 | + | mc.onPress = changeColor |
| 238 | - | // beállítjuk az alap festőszínt |
| 238 | + | // beállítjuk az alap festőszínt |
| 239 | - | vaszon.lineStyle(BRUSH_WIDTH, 0) |
| 239 | + | vaszon.lineStyle(BRUSH_WIDTH, 0) |
| 240 | } | |
| 241 | // színt valtunk | |
| 242 | function changeColor() {
| |
| 243 | - | vaszon.lineStyle(BRUSH_WIDTH, this.colorData) |
| 243 | + | vaszon.lineStyle(BRUSH_WIDTH, this.colorData) |
| 244 | } | |
| 245 | // rajzolás kezdete a vásznon | |
| 246 | vaszon.onMouseDown = function(){
| |
| 247 | - | drawing = true |
| 247 | + | drawing = true |
| 248 | - | vaszon.moveTo(vaszon._xmouse, vaszon._ymouse) |
| 248 | + | vaszon.moveTo(vaszon._xmouse, vaszon._ymouse) |
| 249 | } | |
| 250 | // rajzolás vége | |
| 251 | vaszon.onMouseUp = function(){
| |
| 252 | - | drawing = false |
| 252 | + | drawing = false |
| 253 | } | |
| 254 | // ecsetvonások = rövid vonalak egymásutánja | |
| 255 | vaszon.onMouseMove = function(){
| |
| 256 | - | if (!drawing) return |
| 256 | + | if (!drawing) return |
| 257 | - | vaszon.lineTo(vaszon._xmouse, vaszon._ymouse) |
| 257 | + | vaszon.lineTo(vaszon._xmouse, vaszon._ymouse) |
| 258 | } |