InvetorySystem probleme

Intrebari despre Actionscript 2.0

InvetorySystem probleme

Mesajde slyfer » Lun Ian 23, 2012 9:30 pm

Cod: Selectaţi tot
_global.closeInv =false
_root.onEnterFrame = function(){
function Inventory() {
   var Xpos = 224;
   var Ypos = 96;
   var colNumber = 8;
   var linNumber = 5;
   for (i=1; i<=linNumber; i++) {
      for (j=1; j<=colNumber; j++) {
         var count = (i*colNumber)-colNumber+j;
         var fields:MovieClip = _root.attachMovie("field", "field"+count,getNextHighestDepth());
         eval("field"+count)._x = Xpos+(j*32);
         trace(fields.getDepth())
         eval("field"+count)._y= Ypos+(i*32);
      }
   }
   onEnterFrame = function () {
      if (_global.closeInv) {
         for (i=1; i<=colNumber*linNumber; i++) {
            eval("field"+i).removeMovieClip();
            _global.close=false;
         }
      }
   };
}
a_mc.onPress= function(){
Inventory()   
   }
a_mc.onRelease = function(){
 _global.closeInv=true
 Inventory()
   }}

Salut
Am si eu o problema cu secventa de mai sus.Daca va uitati nu e mare lucru.Doua foruri si cativa parametri pentru a crea un nou obiect repetat,rezultand un inventory.Totul e in regula la apelarea functiei.Se si inchide folosind variabila booleana dar cand deschid din nou inventory dispare intr-o clipa.Care ar explicatia ca prima data functioneaza iar de la a doua in sus nu mai sta vizibil?
Multumesc
slyfer
 
Mesaje: 14
Membru din: Joi Dec 30, 2010 1:38 pm
Localitate: Brasov

Re: InvetorySystem probleme

Mesajde slyfer » Mar Ian 24, 2012 4:16 pm

Am gasit o solutie folosind un sir global.Eram cam obosit si din cauza asta nu am putu gandi limpede.Multumesc oricum.
slyfer
 
Mesaje: 14
Membru din: Joi Dec 30, 2010 1:38 pm
Localitate: Brasov

Re: InvetorySystem probleme

Mesajde Barna Biro » Mar Ian 24, 2012 6:44 pm

Sfat: nu este eficient sa creezi tot inventory-ul de fiecare data cand il deschizi si sa-l tot stergi la inchidere... Pe langa asta, nu inteleg de ce te folosesti de enter frame pentru asa ceva ( nu are sens in opinia mea si e doar ineficient ). Mai bine ai crea inventory-ul o singura data si doar sa ii dai ca si sursa o lista de obiecte / imagini cu care ar trebui sa se populeze. Tot inventory-ul ar fi intr-un singur MovieClip si folosindu-te de proprietatea _visible, ascunzi sau afisezi inventory-ul cand doresti ( e mult mai eficient decat approach-ul tau ). Folosesti si foarte multe proprietati globale ceea ce nu este chiar cool ( mai ales ca pari sa le folosesti in situatii in care chiar nu ai avea nevoie de asa ceva ).

Daca doresti sa folosesti tehnologia asta pe termen mai lung, te sfatuiesc sa incepi sa inveti ActionScript 3.0 cat mai repede ( versiunea 2.0 e "expirata" de ani de zile ).
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: InvetorySystem probleme

Mesajde slyfer » Mie Ian 25, 2012 8:29 pm

Multumesc pentru atentionare cu privire la folosirea mai eficienta a codului. Totusi as vrea sa stiu daca ._visible method imi poate ingreuna programul deoarece voi lucra cu zeci de obiecte.Mai ales ca voi introduce obiecte cu AI si nu vreau la un anumit numar de obiecte sa-mi provoace probleme mai incolo.
slyfer
 
Mesaje: 14
Membru din: Joi Dec 30, 2010 1:38 pm
Localitate: Brasov

Re: InvetorySystem probleme

Mesajde Barna Biro » Mie Ian 25, 2012 10:04 pm

Mi-e greu sa dau un raspuns corect la intrebarea ta, deoarece nu stiu sigur ce faci si cum ai construit pana acuma lucrurile. Eu imi imaginez ca acel inventory e asociat caracterului principal si care foarte probabil este deschis destul de des... Daca asta este cazul, atunci _visible e mult mai ok decat sa stergi mereu obiectele si sa le tot recreezi.

Obiectele care nu apar decat 1-2 ori pe parcursul jocului sau la intervale destul de mari de timp, se pot sterge si crea doar cand e nevoie... Dar obiectele care apar des sunt mai bine create o singura data si doar refolosite cand e nevoie.

PS: ActionScript 3.0 e muuuuult mai rapid decat 2.0
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland


Înapoi la ActionScript 2.0

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator

cron