Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

swf bridge komunikacija izmedju dva swf AS2 i AS3

[es] :: Flash :: swf bridge komunikacija izmedju dva swf AS2 i AS3

Strane: 1 2

[ Pregleda: 4422 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

crniluk

Član broj: 151787
Poruke: 192
212.200.33.*



+15 Profil

icon Re: swf bridge komunikacija izmedju dva swf AS2 i AS309.07.2011. u 15:06 - pre 155 meseci
Poludecu vise.
Probam sve zivo. Najlogicnije mi je:
Moj prvi kod kada kliknem na quote_btn pojavi se prozor, to je ovaj kod:
Code:
quote_btn.onPress = function(){
    trace("EMAIL PANEL CHECK: "+this._parent);
    var emailForm = this._parent.attachMovie("emailForm_mc", "emailForm", this._parent.getNextHighestDepth());
    emailPanel = emailForm;
    emailForm._x = (Stage.width/2) - (emailForm._width/2);
    emailForm._y = (Stage.height/2) - (emailForm._height/2);
}


Umesto tog koda ubacim sada ovaj poslednji kod:
Code:
quote_btn.onPress = function(){
    setTimeout(mojaFunkcija,5000);
    trace("EMAIL PANEL CHECK: "+this._parent);
    }

function mojaFunkcija():Void{
    trace("Prošlo je 5 sekundi");
    var emailForm = this._parent.attachMovie("emailForm_mc", "emailForm", this._parent.getNextHighestDepth());
    emailPanel = emailForm;
    emailForm._x = (Stage.width/2) - (emailForm._width/2);
    emailForm._y = (Stage.height/2) - (emailForm._height/2);
}


U autputu izlazi cini mi sve kako treba, isto kao u prvom i posle 5 sekundi ispise se proslo je 5 sekundi.
Ali se prozor ne pojavljuje. Tj MC (emailForm_mc) se ne pojavi.
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: swf bridge komunikacija izmedju dva swf AS2 i AS309.07.2011. u 15:49 - pre 155 meseci
Nisi dobro razumeo moj prethodni odgovor. U ovom slučaju problem predstavlja this._parent, jer kao što ti se prethodno prikazivalo u output prozoru this._parent je nedefinisano (undefined). Ti sada želiš da tu dodaš "emailForm_mc" i s toga je logično da se ne pojavljuje. Umesto toga direktno navedi naziv movieclip-a (ili root-a) gde želiš da ti se taj "emailForm_mc" prikaže:
Code:
function mojaFunkcija():Void{
    trace("Prošlo je 5 sekundi");
    var emailForm = _root.attachMovie("emailForm_mc", "emailForm", _root.getNextHighestDepth());
    emailPanel = emailForm;
    emailForm._x = (Stage.width/2) - (emailForm._width/2);
    emailForm._y = (Stage.height/2) - (emailForm._height/2);
}

Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

crniluk

Član broj: 151787
Poruke: 192
212.200.33.*



+15 Profil

icon Re: swf bridge komunikacija izmedju dva swf AS2 i AS309.07.2011. u 16:44 - pre 155 meseci
Ahaaa. DA DA. Tako je. Sad sam promenio na _root i radi pojavi se tacno kako treba. Ali se javio jos jedan problem. Ne znam da li je veliki ali sam se opet iznervirao a taman se obradovao.
Evo celokupnog koda kako sada izgleda. Radi sve osim jednog polja (totalPrice_txt) koj treba da ispise neku cenu. Sada u tom polju pise undefined.
To je linija malo ispod f-je close button na pocetku:

emailForm.totalPrice_txt.text = emailForm._parent.totalField_txt.text;

Najverovatnije sada ovo pravi problem: _parent

Savljao sam umesto ovog: _root, i ime MC (emailForm_mc) ali nece.

Code:

///email pop-up
quote_btn.onPress = function(){
    setTimeout(mojaFunkcija,2000);
    trace("EMAIL PANEL CHECK: "+this._parent);
    }
function mojaFunkcija():Void{
    trace("Prošlo je 5 sekundi");
    var emailForm = _root.attachMovie("emailForm_mc", "emailForm", _root.getNextHighestDepth());
    emailPanel = emailForm;
    emailForm._x = (Stage.width/2) - (emailForm._width/2);
    emailForm._y = (Stage.height/2) - (emailForm._height/2);
    
    //close button
    emailForm.close_btn.onPress = function(){
        this._parent.removeMovieClip();
    }
    
    //get total items
    emailForm.totalItems_txt.text = stageArray.length;
    //get total price
    emailForm.totalPrice_txt.text = emailForm._parent.totalField_txt.text;
    //list out items on stage/build
    emailForm.items_txt.html = true;
    var myformat:TextFormat = new TextFormat();
    myformat.tabStops = [200, 250];
    for(i=0; i<stageArray.length; i++){
        emailForm.items_txt.htmlText += stageArray[i].name+"   \t -  "+stageArray[i].price+" dinara  \n";
    }    
    emailForm.items_txt.setTextFormat(myformat);
    
emailForm.submit_btn.onRelease = function(){ 
  var errorStatus:Boolean = false;
 
  if(emailForm.userName_txt.text != ""){
   emailVars.userName = emailForm.userName_txt.text;
  }else{
   errorStatus = true;
  }
  if(emailForm.userEmail_txt.text != ""){
   emailVars.userEmail= emailForm.userEmail_txt.text;
  }else{
   errorStatus = true;
  }
  //trace(emailVars.userEmail);
  if(emailForm.userPhone_txt.text != ""){
   emailVars.userPhone = emailForm.userPhone_txt.text;
  }else{
   errorStatus = true;
  }
  if(emailForm.userAddress_txt.text != ""){
   emailVars.userAddress = emailForm.userAddress_txt.text;
  }else{
   errorStatus = true;
  }  
  //emailVars.itemList = emailForm.items_txt.text;
  var itemString:String = "";
  for(w=0; w<stageArray.length; w++){
   itemString += stageArray[w].name+"   \t -  "+stageArray[w].price+" dinara  <BR>";
  }
  if(itemString != ""){
   emailVars.itemList = itemString;      
  }else{
   errorStatus = true;
  } 
  if(emailForm.totalItems_txt.text != 0){
   emailVars.totalItems = emailForm.totalItems_txt.text;    
  }else{
   errorStatus = true;
  }
  
  emailVars.totalPrice = emailForm.totalPrice_txt.text;
  emailVars.userComments = emailForm.comments_txt.text;
  if(errorStatus != true){
   
   emailVars.sendAndLoad("sendMail.php", emailVars, "_POST");
   emailForm.emailResults_mc._visible = true;
  }else{
   //send alert to comment field
   emailForm.popuni_sve.text = "MOLIMO VAS POPUNITE SVA POLJA.";
   //reset error status
   errorStatus = false;
  }  
 }    
}
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: swf bridge komunikacija izmedju dva swf AS2 i AS309.07.2011. u 17:15 - pre 155 meseci
Opet moram da kažem da je to logično i očekivano. Ti si sad naveo da se u polju "totalPrice_txt" kao tekst prikaže vrednost koja se nalazi u polju "totalField". Flash traži roditelja "emailForm"-e a zatim pokušava da u njemu pronađe "totalField_txt" koji se verovatno na toj lokaciji ne nalazi. Ako je prethodno roditelj "emailForm"-e bio neki drugi movieclip, a sada si ga ti sa prethodnim kodom koji sam ti napisao stavio direktno na stage, onda bi "totalField_txt" morao da se nalazi direktno na stage-u kako bi se ostvarila prvobitna funkcionalnost. Na kraju, ta problematična linija koda bi trebala da izgleda ovako:
Code:
emailForm.totalPrice_txt.text = emailForm._root.totalField_txt.text;

U ovom slučaju moraš da "totalField_txt" premestiš direktno na stage. Ako hoćeš da ostane na lokaciji gde se trenutno nalazi onda treba da umesto _root-a navedeš naziv MC-a u kojem se "totalField_txt" nalazi:
Code:
emailForm.totalPrice_txt.text = emailForm.MC.totalField_txt.text;

Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

crniluk

Član broj: 151787
Poruke: 192
212.200.33.*



+15 Profil

icon Re: swf bridge komunikacija izmedju dva swf AS2 i AS309.07.2011. u 19:01 - pre 155 meseci
Tako sam i pokusavao, ali nije htelo.

I posle duzeg vremena i mucenja i isprobavanja uspeo sam da resim.

Trebalo je pre naziva MC da napisem _root

Code:
emailForm.totalPrice_txt.text = emailForm._root.imeMC.totalField_txt.text;


Sada mislim da sve radi kako treba. Od srece nisam ni stigao da uploadujem pa probam na netu. Ali to cu veceras, sada malo da odmorim.

Hvala ti najvise na svetu, da nije bilo tebe ne bih moga osam nista da uradim.
Jos jednom hvala na velikoj pomoci.
NAdam se da ce ovo jos nekome koristiti.
Pozz i sve najbolje.
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: swf bridge komunikacija izmedju dva swf AS2 i AS309.07.2011. u 19:45 - pre 155 meseci
Onda se verovatno taj "totalField_txt" nalazio u nekom druugom MC-u pa zato i nisi mogao iz "emailForm"-e da mu pristupiš pre pozivanja root-a. Sada bi sve trebalo da funkcioniše. Pozdrav!
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

[es] :: Flash :: swf bridge komunikacija izmedju dva swf AS2 i AS3

Strane: 1 2

[ Pregleda: 4422 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.