Originariamente inviato da grandeorco
si proprio così
Ok, allora...
I tre pulsanti sono dei movieClip istanziati happy_mc, sad_mc e angry_mc...
Il campo di testo è istanziato content_txt
Questo è il codice:
codice:
var firstPosition:Number;
var secondPosition:Number;
MovieClip.prototype.smile = function(campo:TextField, smile:String) {
campo.onChanged = getCaretPos;
var keyListener:Object = new Object();
keyListener.onKeyUp = getCaretPos;
Key.addListener(keyListener);
var mouseListener:Object = new Object();
mouseListener.onMouseUp = getCaretPos;
Mouse.addListener(mouseListener);
function getCaretPos() {
firstPosition = Selection.getCaretIndex();
}
this.onPress = function() {
secondPosition = firstPosition;
var firstString:String = campo.text.substr(0, firstPosition);
var secondString:String = campo.text.substr(firstPosition, campo.text.length);
campo.text = firstString+smile+secondString;
};
this.onRelease = function() {
Selection.setFocus(campo);
Selection.setSelection(secondPosition+smile.length, secondPosition+smile.length);
firstPosition = Selection.getCaretIndex();
};
};
happy_mc.smile(content_txt, ":-)");
sad_mc.smile(content_txt, ":-(");
angry_mc.smile(content_txt, ":-/");
Come vedi c'è una funzione prototype iniziale, e poi le assegnazioni ai vari pulsanti, in questa forma: nomeIstanza.smile(istanzaCampo, "stringaDaInserire");
Devi adattarlo al tuo progetto...