PDA

Просмотр полной версии : Строка менющая цвет букв


BlackScorpion
28.04.2004, 13:05
Здрасте.
Есть текстовое поле, имеющая одну строку. Подскажите как сделать так, что бы поочередно буквы в строке изменили цвет.
:confused:

Nox Noctis
28.04.2004, 13:37
// Creating TextField
this.createTextField("TF", 1, Stage.width/2, Stage.height/2, 0, 0);
TF.autoSize = "center";
TF.border = true;
TF.textColor = 0xFF6600;
TF.text = "Jackdaws love my big sphinx of quartz";
//
// random RGB color function
Color.random = function() {
var r = 1+random(255) << 16;
var g = 1+random(255) << 8;
var b = 1+random(255);
return r | g | b;
};
//
// just kidding ^))
MovieClip.prototype.createEmptyMovieClip.apply(TF, ["control", 1]);
//
// change random letter color each frame
TF.control.idx = 0;
TF.control.onEnterFrame = function() {
var tf = this._parent;
var ttf = tf.getTextFormat(this.idx, this.idx+1);
ttf.color = Color.random();
tf.setTextFormat(this.idx, this.idx+1, ttf);
//
this.idx = ++this.idx*(this.idx<tf.text.length);
};
если в этом коде что-то будет не понятно...
*падает со стула*

BlackScorpion
28.04.2004, 14:10
Почемуто этот код не работает.
Я его запихнул в первый кадр своего клипа. Может я сделал не правельно???

TTS
28.04.2004, 15:40
Оригинал написал(а) BlackScorpion
Почемуто этот код не работает.
Я его запихнул в первый кадр своего клипа. Может я сделал не правельно??? Publish settings->Flash->Version: Flash Player 6
ActionScript version: ActionScript 1.0

Nox Noctis
28.04.2004, 15:57
в АС2.0 огшибку вызывает вот эта строчка:

Color.random = function() {

но если в объявлении класса Color добавить спецификатор dynamic - всё пройдёт :)

или можно вынести эту функцию в любое другое место, не обязательно статическим свойством класса Color

BlackScorpion
29.04.2004, 08:09
Большое спасибо........... :)