Page 4 of 4 FirstFirst ... 234
Results 31 to 40 of 40

Thread: [ASK] AI untuk Cekdistance,lockedtarget,Chase [ butuh pencerahan]

  1. #31
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    btw saya ada post problem disini :
    programming - Implementing a FSM with ActionScript 2 without using classes? - Game Development

    dan dapat pattern FSM untuk AS 2.0 kayak gini :
    PHP Code:
    onUpdate(){
        switch(
    state){
            case 
    STATE_1:
                do 
    state 1 stuff
                
    if(conditionThatLeadsToState2){
                    
    state STATE_2;
                }
                break;
            case 
    STATE_2:
                do 
    state 2 stuff
                
    if(conditionThatLeadsToState3){
                    
    state STATE_3;
                }
                break;
            ... 
    etc ...
        }

    kemudian pattern ke 2 :
    PHP Code:
    var count 0;

    function 
    state1(){
        
    count++;
        if(
    count == 10){
            
    state state2;
        }
        
    trace("state 1, increasing: " count);
    }

    function 
    state2(){
        
    count--;
        if(
    count == 0){
            
    state state1;
        }
        
    trace("state 2, decreasing: " count);
    }

    var 
    state state1;

    function 
    onEnterFrame(){
        
    state();

    karena saya kurang ngerti pattern 1 , jadi saya coba pattern kedua ...
    n hasil nya agak kacau =.=a

    PHP Code:
    AI_mc.onEnterFrame = function() {
        
    aiState()
    }; 
    saya pisahkan semua function nya , dan functionnya saya buat seperti layak nya state :
    PHP Code:
    var aiState;

    // trigger untuk gameOn True 
    function AiTrigger() {
         if (
    TargetArray.length>=MaxSpawn/8) { trigger kalo gameOn true maka CheckDistanceState()
               
    GameOn true;
         
    aiState CheckDistanceState()
                    }

    function 
    CheckDistanceState() {
        for (
    i=0i<=TargetArray.lengthi++) { 

            
    Target TargetArray[i].myMc;
            
    //trace(Target)
              
    Target.id i;
            
    distanceX Target._x-AI_mc._x;
            
    distanceY Target._y-AI_mc._y;
            
    jrk Math.round(Math.sqrt(distanceX*distanceX+distanceY*distanceY));
            
    Target.jarak jrk;
            
    TargetArray[i].jarak jrk;
            
    Targetscore TargetArray[i].skor
            Target
    .locked false;
        }
        
        
    EnemyArray TargetArray.sortOn("jarak", Array.NUMERIC);
        
    EnemyArray[0].myMc.locked true// target yang di locked = true
        
    lockedTarget EnemyArray[0].myMc;
        
    lockedscore EnemyArray[0].skor     // ambil score target
        
    statusObject EnemyArray[0].myMc.hidup// status untuk target
        
        
    if (statusObject// trigger pergantian state jika ada statusObject yang hidup = true
        
    {
            
    aiState moveAI() // aiState sebagai penampung 
        
    }
        
    }

    function 
    moveAI() {
        
    deltaX = (lockedTarget._x-AI_mc._x);
        
    deltaY = (lockedTarget._y-AI_mc._y);

        
    AI_mc._x += deltaX/step;
        
    AI_mc._y += deltaY/step;
        
        if (
    _root.AI_mc.hitTest(lockedTarget)) { // trigger untuk ganti state , kalo colide -> HitState()
            
    aiState HitState()
        }
    }



    function 
    HitState()
    {

           
    _root.attachMovie("spark_mc","spark_mc",400,{_x:lockedTarget._x_y:lockedTarget._y});
           
    removeMovieClip(lockedTarget);
           
            
    TargetArray.shift();
            
    AIscore AIscore lockedscore
            
    //trace(AIscore)
            
    numdead++;
            
    scoreboard_mc.computerscore_txt.textAIscore 

    hasilnya , si AI ada bergerak , tetapi sayang nya sendat2 pada saat mencari target...
    apakah implementasi trigger saya salah ya ?? ato karena pemakaian fungsi state() , yang pengerjaan nya mesti per state jadi nya sendat2 ?


    yang saya tangkap dari artikel2 , kunci utama dari sebuah FSM itu ada pemicu nya untuk pergantian state , dan rata2 pemakaian FSM memakai switch case ( walaupun tidak dianjurlkan dalam skala state AI yang besar, tetapi kasus saya kayak nya state masih dikit, jadi gpp )
    Last edited by pembaca; 07-07-2012 at 02:23 PM.

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

    Default

    sori bro, gw gak ngerti FMS

  3. #33
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    ohhhhhwww ... Gpp~ ahahaha ... sip2

    FSM ~

  4. #34
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    begini ... setelah ditelusuri , saya menemukan bug,
    Bug nya kayak gini :
    pada awal nya oke2 ajah kita melawan dengan AI ,
    tapi lama kelamaan , si AI ini tiba2 mulai ada tingkah nya...


    uhmm tingkah nya begini , dia udah gak mampu untuk bergerak lagi ...
    tapi disana dia nya masih berusaha untuk menembak , dan me-locked target yang melewati dia saja , dia gerak hanya sepersekian mili ...

    dikarenakan TargetArray.length berubah terus menerus , kalo di coding agan yang sebelumnya ... Si AI mesti cek semua target yg spawn dulu khan ?
    kalo punya saya ... spawn nya per detik ampe countdown abis.



    dan karena beberapa hari udah gak bisa telusuri ,

    jadi,
    saya buat begini ,
    jika targetArray.length nya udah lebih dari 15 ato 20 ,saya kemudian mengclear interval spawn Target nya.
    meremove semua target movieclip,
    dan memanggil fungsi respawn ulang dengan tidak lupa mereset EnemyArray dan TargetArray nya kembali mnjadi 0, dengan begitu si AI tidak tersendat2 lagi mengecek nya... cuma sayang nya ... score nya lsng NAN pas mulai click sasaran ... tapi kadang kagak deh ...

    dan so far udah gak ada masalah lagi sih dengan AI nya , cuma mungkin karena ada pengaruh removemovieclip target pas udah mencapai targetarray.length , jadi serasa aneh pas mainnya ...

    kira2 ada saran gak ya ? kalo gak ada gpp hehe ... thx ya ...
    Last edited by pembaca; 07-10-2012 at 10:23 PM.

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

    Default

    bro, gw gak tau kenapa game kamu tersendat...
    kemungkinan lag karena beban cpu? mungkin setJarak() dieksekusi pakai setTimeout saja per 100 miliseconds agar ada "napas".

    tapi script gw gak ada masalah bro.

    gw percepat spawning per 1/2 detik.
    lalu clearInterval baru saat skor 360, yang kalau dihitung berarti 180 bug (sama dg create 3 bug per 1 detik utk timer 60 detik kan?)

    cek >> http://nayzuko.com/flashfiles/AIrevisixx.swf
    coba tes... dan klik saja bug2 di sekitar laba2... laba2 ini tetap mengejar target selanjutnya

    disable clearInterval...
    if (bugArray.length>=10) {
    //clearInterval(jeda);
    gameIsOn = true;
    pesan.text = "";
    }

    lalu clear saat skor sudah tercapai. sama saja jika pakai timer kan

    if (pscore>=360 || AIscore>=360) {
    //if (die>=maxBug && gameIsOn) {
    gameIsOn = false;
    clearInterval(jeda);
    ...

    mungkin alur script kamu ada yg bikin macet bro?
    Last edited by 42Unregistered; 07-11-2012 at 10:52 PM.

  6. #36
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    ummmm ... sepertinya, walaupun target yang udah saya klik , n target lsng ke koordinat x = y = 2000,

    Target saya ternyata masih tetap bergerak
    dan kembali lagi ke stage dengan sendirinya ...
    tadi saya coba .visible khan menjadi true ...
    mungkin itu pengaruhnya ya ...

    kirain kgk bergerak lagi ... n tetap di koordinat 2000 ...

    saya cari cara diamin dulu itu target ... thx2~

  7. #37
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    ternyata betulll ....
    karena si Target yang udah mati ... balik ke stage , bikin bingung si AI ~ haha

    thx gan pencerahannya tadi hehehe ...
    siiiipppppp ....

    Lanjuttt ~ hahaha

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

    Default

    oh akhirnya ketemu ya...
    iya, pada code sebelumnya sudah dijelaskan ketika bug diklik
    this.hidup = false;
    gunanya utk mencegah bug masuk stage lagi

    sip deh

  9. #39
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    iya ...
    walaupun saya mengatur this.hidup = false , si Target tetap bisa bergerak dan malah begerak masuk ke stage lagi,
    karena coding gerakan saya melakukan coding onEnterframe di dalam movieclip sasaran, jadi saya tambahkan
    OnEnterframe :
    if (hidup)
    {
    //coding gerakan
    }

    solved gan

    untung agan ada tulis penjelasan didalam script nya , thx berattt ...

  10. #40
    pembaca is offline Laskar Babaflash
    Join Date
    Apr 2010
    Posts
    39

    Default

    apakah ada cara untuk pertahanin Text yang saya buat dalam target Mc gak ya ?

    soal nya tadi saya mau membuat nama dan jarak untuk setiap Target mc,
    jadi saat bermain saya bisa mengecek itu AI mengambil Nama target yg mana dan jarak nya berapa,
    jadi saya buat dynamic text :

    namatarget.text = this.nama // menyimpan nama
    jaraktarget.text = this.jarak // menyimpan jarak

    kemudian itu dynamic Text saya taruh kedalam MovieClip , dan coding saya taruh juga dalam movieclip OnEnterframe :

    Permasalahannya :
    untuk Target yang gerakannya tidak ada Rotasi ... Textfield akan tetap ada dan menampilkan nama dan juga jarak... n berhasil

    tetapi kalo uda ada rotasi ( maupun -xscale ) nya ... Textfield nya ilang ... tapi saya trace ( nama dan jarak) tetap ada ...

    apakah ada solusi nya ??
    soalnya saya liat punya agan pada contoh ladybug3, text yg berisi ID itu bisa ikut rotasi ?



    Maaf ...
    Udah saya Solveed ...
    ternyata mesti pakai Character Embedding ...
    THX
    Last edited by pembaca; 07-16-2012 at 11:45 PM.

Page 4 of 4 FirstFirst ... 234

Similar Threads

  1. butuh untuk dibikinin theme opencart
    By egatuz in forum Vacancies
    Replies: 0
    Last Post: 03-18-2012, 09:08 AM
  2. Mohon Pencerahan
    By adityasusilo in forum Lobby
    Replies: 0
    Last Post: 12-22-2011, 04:41 PM
  3. HELP kasih pencerahan
    By linsz in forum Beginner
    Replies: 7
    Last Post: 04-28-2011, 06:01 PM
  4. Butuh simulasi atau animasi untuk belajar?
    By el_kargo in forum Forum JUAL BELI
    Replies: 2
    Last Post: 03-30-2011, 10:30 AM
  5. mohon pencerahan
    By flashkick in forum 3D Modelling & Animation
    Replies: 1
    Last Post: 05-17-2010, 08:11 AM

Tags for this Thread

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
  •