Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-07-2005, 08:24   #1 (permalink)
pensionist
 
Benutzerbild von troner
 
Registriert seit: Jan 2003
Ort: Thalheim b. Wels
Beiträge: 568
eventHandling frage

hallo

ich bin gerade dabei mir eine schlanke comboBox zu schreiben und
habe eine frage zum eventhandling!
wenn man jetzt neben die box clickt oder wer weiß wohin soll sich die box wieder schliessen! ich suche also nach einem sozusagen "general event" für genau diesen fall! wie stelle ich das am besten an?

file im anhang

ActionScript:
  1. // ----------------------------------------------------------------
  2. // ComboBox ver.0.1
  3. // Author: mario UE.
  4. // Datum: 10.07.05
  5. // ----------------------------------------------------------------
  6. cb1 = new comboBox("font_cb", //instanzname
  7.                    "Schriftart", //beschriftung
  8.                    50, //_x position
  9.                    50, //_y position
  10.                    100, //tiefe
  11.                    new Array("Verdana:Verdana", "Arial:Arial", "Tahoma:Tahoma", "Curier:Curier", "Helvetica:hel", "_sans:_sans") //label und values
  12.                    );
  13.  
  14. cb2 = new comboBox("color_cb", //instanzname
  15.                    "Schriftfarbe", //beschriftung
  16.                    170, //_x position
  17.                    50, //_y position
  18.                    200, //tiefe
  19.                    new Array("Blue:0x0033FF", "Red:0xFF0000", "Green:0x339900", "Orange:0xFF9900", "Black:0x000000", "White:0xFFFFFF") //label und values
  20.                    );
  21.  
  22. function comboBox(name, label,cbX, cbY, cbDepth, lvArray) {
  23.     _root.attachMovie("comboBox_mc", name, cbDepth);
  24.     _root[name]._x = cbX;
  25.     _root[name]._y = cbY;
  26.     _root[name].combo_txt.text = label;
  27.     _root[name].comboArrow_btn.onRelease = function() {
  28.         for (var i = 0; i<lvArray.length; i++) {
  29.             this._parent.attachMovie("cbe", "cbe"+i, this._parent.getDepth()-i);
  30.             if (_global.currentSel != "") {
  31.                 this._parent["cbe"+currentSel].gotoAndStop(5);
  32.             }
  33.             this._parent["cbe"+i].id = i;
  34.             this._parent["cbe"+i].comboEntry_txt.text = splitLabel(lvArray[i], ":");
  35.             this._parent["cbe"+i]._y += 21;
  36.             this._parent["cbe"+i]._y = this._parent["cbe"+(i-1)]._y+20;
  37.             this._parent["cbe"+i].onRelease = function() {
  38.                 _global.currentSel = this.id;
  39.                 trace(splitValue(lvArray[this.id], ":"));
  40.                 removeCB(this._parent, lvArray);
  41.             };
  42.             this._parent["cbe"+i].onRollOver = function() {
  43.                 this.play();
  44.             };
  45.             this._parent["cbe"+i].onRollOut = function() {
  46.                 this.gotoAndStop(1);
  47.             };
  48.         }
  49.     };
  50. }
  51. function removeCB(ref, lvArray) {
  52.     for (i=0; i<lvArray.length; i++) {
  53.         ref["cbe"+i].removeMovieClip();
  54.     }
  55. }
  56. function splitLabel(toSplit, separator) {
  57.     var label = toSplit.slice(0, toSplit.indexOf(separator));
  58.     return label;
  59. }
  60. function splitValue(toSplit, separator) {
  61.     var value = toSplit.slice(toSplit.indexOf(separator)+1, toSplit.length);
  62.     return value;
  63. }

mfg vom berg der freude
Angehängte Dateien
Dateityp: zip comboBox.fla.zip (5,6 KB, 29x aufgerufen)

Geändert von troner (12-07-2005 um 08:45 Uhr)
troner ist offline   Mit Zitat antworten
Alt 12-07-2005, 11:08   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Leg dir am besten einen unsichtbaren MC (_alpha=0) großflächig unter die Box, setz den useHandCursor des MCs auf false und häng einen onRelease-Event an, der dann die Klicks neben die Box abfängt, bspw.:
ActionScript:
  1. meineMCInstanz.useHandCursor = false;//keine Cursorhand zeigen
  2. meineMCInstanz.onRelease = function(){
  3.    //hier folgt das Script, was nach "Danebenklicken" ausgeführt wird
  4. }
  Mit Zitat antworten
Alt 12-07-2005, 11:21   #3 (permalink)
pensionist
 
Benutzerbild von troner
 
Registriert seit: Jan 2003
Ort: Thalheim b. Wels
Beiträge: 568
danke für die antwort aber da wär ich selber auch drauf gekommen und bringen tuts auch nichts denn wenn man einen anderen button klickt tut sich wieder nichts und wenn ich den fackeMC darüber lege gehen die anderen buttons nicht!

ich habe mir gedacht da gibts vieleicht einen anderen trick so in etwa

Button.prototype.onMouseDown = function() {
removeCB();
}
oder

for (i in _root) {
if([i]typeOf == "Objkect") {
dfgdfgdfg
}

oder wie auch immer

mfg

Geändert von troner (12-07-2005 um 11:24 Uhr)
troner ist offline   Mit Zitat antworten
Alt 12-07-2005, 16:31   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
guck dir mal

MovieClip.focusEnabled
MovieClip.onKillFocus

an.

Und den anderen Thread löscht du am besten noch, bevor dort jemand antwortet!
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 13-07-2005, 11:05   #5 (permalink)
pensionist
 
Benutzerbild von troner
 
Registriert seit: Jan 2003
Ort: Thalheim b. Wels
Beiträge: 568
das check ich net ganz wie soll das mit onKillFocus funzen focusEnabled brauch ich ja nicht weil sobald eine onPress onRels... drauf is ists eh true!

oder versteh ich da was komplett falsch!

bitte beschreib das doch ein bißchen genauer wie du das machen würdest wär dir sehr dankbar!

und sorry wegen crossp.. aber das macht mich noch komplett porös der schei..s!


mfg mario
troner ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:32 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele