Results 1 to 4 of 4
Like Tree1Likes
  • 1 Post By 42Unregistered

Thread: Timer pada Game

  1. #1
    bettydian is offline Anggota BabaFlash
    Join Date
    Aug 2012
    Posts
    1

    Default Timer pada Game

    saya pemula di flash, saya mau anya gimana cara bikin timer pada game pzzle
    jadi yang saya maksud , kalau saat bermain game puzzle sebelum waktu habis, akan muncul "selamat anda berhasil". jika waktu sudah habis, akan muncul "anda gagal"
    itu gimana ya cara bikin nya? terima kasih
    scrip nya seperti ini

    stop ();

    onEnterFrame = function () {
    piece1_mc.onPress = function() {
    startDrag(this);
    };

    piece1_mc.onRelease = function() {
    stopDrag();
    };

    if (tar1_mc.hitTest(piece1_mc.target1_btn)) {

    piece1_mc._x = 186.4;
    piece1_mc._y = 175.2;
    }

    piece2_mc.onPress = function() {
    startDrag(this);
    };

    piece2_mc.onRelease = function() {
    stopDrag();
    };

    if (tar2_mc.hitTest(piece2_mc.target2_btn)) {

    piece2_mc._x = 185.8;
    piece2_mc._y = 289.6;
    }

    piece3_mc.onPress = function() {
    startDrag(this);
    };

    piece3_mc.onRelease = function() {
    stopDrag();
    };

    if (tar3_mc.hitTest(piece3_mc.target3_btn)) {

    piece3_mc._x = 368.0;
    piece3_mc._y = 172.8;
    }

    piece4_mc.onPress = function() {
    startDrag(this);
    };

    piece4_mc.onRelease = function() {
    stopDrag();
    };

    if (tar4_mc.hitTest(piece4_mc.target4_btn)) {

    piece4_mc._x = 365.9;
    piece4_mc._y = 288.8;
    }

    }

  2. #2
    42Unregistered is offline Flash Geek
    Join Date
    Nov 2008
    Posts
    790

    Default

    ini countdown timer dari Flash simple timer/countdown - Emanuele Feronato
    baca komentarnya
    PHP Code:
    start_time getTimer();
    countdown 7200000;
    onEnterFrame = function () {
        
    elapsed_time getTimer()-start_time;
        
    _root.count.text time_to_string(elapsed_time);
        
    _root.count_down.text time_to_string(_root.countdown-elapsed_time);

        
    //untuk menghentikan timer ketika waktu habis
        
    if (_root.countdown-elapsed_time <=0) {
            
    delete this.onEnterFrame;
            
    pesan.text "times up"
            
    pesan.textColor=0xFF0000;
            }


    };
    function 
    time_to_string(time_to_convert) {
        
    elapsed_hours Math.floor(time_to_convert/3600000);
        
    remaining time_to_convert-(elapsed_hours*3600000);
        
    elapsed_minutes Math.floor(remaining/60000);
        
    remaining remaining-(elapsed_minutes*60000);
        
    elapsed_seconds Math.floor(remaining/1000);
        
    remaining remaining-(elapsed_seconds*1000);
        
    elapsed_fs Math.floor(remaining/10);
        if (
    elapsed_hours<10) {
            
    hours "0"+elapsed_hours.toString();
        } else {
            
    hours elapsed_hours.toString();
        }
        if (
    elapsed_minutes<10) {
            
    minutes "0"+elapsed_minutes.toString();
        } else {
            
    minutes elapsed_minutes.toString();
        }
        if (
    elapsed_seconds<10) {
            
    seconds "0"+elapsed_seconds.toString();
        } else {
            
    seconds elapsed_seconds.toString();
        }
        if (
    elapsed_fs<10) {
            
    hundredths "0"+elapsed_fs.toString();
        } else {
            
    hundredths elapsed_fs.toString();
        }
        
    //return hours+":"+minutes+":"+seconds+":"+hundredths; //gak butuh jam dan menit utk timer 10 detik
        
    return seconds+":"+hundredths;

    jika kamu menginginkan ucapan "selamat anda berhasil" ketika puzzle selesai sebelum timer habis, maka kamu harus membuat fungsi evaluasi hasil puzzle.

    jika gw, gw akan memberikan variabel "benar" jika piece diletakkan dg benar, lalu buat evaluasi apakah semua piece sudah benar?

    misalnya begini:
    PHP Code:
    function evaluasi() {
        if (
    piece1.benar && piece2.benar && piece3.benar && piece4.benar) {
            
    pesan.text "selamat anda berhasil";
        }
        else {
            
    pesan.text "not finish yet"
        
    }

    buat variabel "benar=true" ketika piece dirilis

  3. #3
    42Unregistered is offline Flash Geek
    Join Date
    Nov 2008
    Posts
    790

    Default

    script kamu di atas bisa dibuat dengan sederhana.
    misalnya, semua x y objek dan target dimasukkan dalam array.
    misalnya
    PHP Code:
    var targetX:Array = new Array();
    var 
    targetY:Array = new Array();
    var 
    objekX:Array = new Array();
    var 
    objekY:Array = new Array();

    var 
    jumlahPiece:Number 4;
    var 
    depth:Number 100;

    function 
    buildPiece() {

    for (
    i=1i<=jumlahPiecei+=1) {
        
    target=_root["tar"+i];
        
    objek=_root["piece"+i];

        
    targetX[i] = target._x;
        
    targetY[i] = target._y;
        
    objekX[i] = objek._x;
        
    objekY[i] = objek._y;
    }
    }

    buildPiece() 
    setelah kita punya xy objek dan target, drag and drop dicek dengan satu fungsi
    PHP Code:
    function cekPiece() {
    for (
    i=1i<=jumlahPiecei+=1) {
        var 
    objek _root["piece"+i];
        var 
    target _root["tar"+i];
        
        
    objek.id i;
        
    objek.onPress = function() {
        
    _root.depth++;
        
    startDrag(this);
        
    this.swapDepths(depth);
        }
        
    objek.onRelease = function() {
            
    stopDrag();
            if (
    this.hitTest(target)) {
                
    this._x targetX[this.id];
                
    this._y targetY[this.id];
                
    this.benar true;
                
    trace("hit")
            } else {
                
    this._x objekX[this.id];
                
    this._y objekY[this.id];
                
    this.benar false;
                
    trace("no hit")
            }
            
        }
        
    }; 
    // end for

    fungsi cekPiece() dan evaluasi() sebelumnya dimasukkan dalam onEnterFrame, menjadi begini:

    PHP Code:
    this.onEnterFrame=function() {
    cekPiece();
    evaluasi();

    elapsed_time getTimer()-start_time;
        
    _root.count.text time_to_string(elapsed_time);
        
    _root.count_down.text time_to_string(_root.countdown-elapsed_time);
        if (
    _root.countdown-elapsed_time <=0) {
            
    delete this.onEnterFrame;
            
    pesan.text "times up"
            
    pesan.textColor=0xFF0000;
            }
        

    hasilnya seperti ini >> http://nayzuko.com/flashfiles/contohpz.swf

    untuk menerapkannya dg punya kamu,
    ubah "piece1_mc.target1_btn"
    menjadi "piece1.tar"

    artinya, dalam mc "piece" kamu ada mc "tar". tidak masalah jika "tar" itu mc yang berbeda-beda.
    dalam demo punya gw, piece itu cuma 1 mc yang dikasih warna berbeda
    Last edited by 42Unregistered; 08-11-2012 at 05:30 PM.
    annisakha likes this.

  4. #4
    42Unregistered is offline Flash Geek
    Join Date
    Nov 2008
    Posts
    790

    Default

    sejujurnya ini cuma puzzle 'semi dinamis' karena kamu harus membuat setiap mc yg berbeda. yang dinamis adalah, kamu cukup punya 1 image dan men-slice image dengan teknik masking dan meletakkannya secara random di stage
    ini disebut "semi dinamis" karena kamu bisa membuat mc sebanyak yg kamu mau, asal var "jumlahPiece" disesuaikan. lalu letakkan di stage, tanpa harus mencatat setiap x dan y.

Similar Threads

  1. [ASK] Cara membuat memilih karakter pada game
    By jojonkupr3t in forum Getting Started
    Replies: 1
    Last Post: 07-07-2012, 11:50 AM
  2. [ASK] Cara membuat memilih karakter pada game
    By jojonkupr3t in forum ActionScript 1.0/2.0
    Replies: 0
    Last Post: 05-26-2012, 10:14 AM
  3. [ASK] Membuat Score pada game
    By Ghooenk in forum ActionScript 1.0/2.0
    Replies: 1
    Last Post: 08-05-2011, 11:08 AM
  4. [ASK] Game berhitung menggunakan timer gimana caranya ya?
    By doraemon89 in forum ActionScript
    Replies: 1
    Last Post: 06-26-2011, 06:07 PM
  5. [ASK]Bikin Score pada shooting game
    By helmyadilaf in forum Beginner
    Replies: 7
    Last Post: 03-02-2011, 04:28 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •