![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Всем доброго времени суток.
Сегодня убил несколько часов, чтобы раскопать следующее: iNils где-то выкладывал пример-флешку TextField с antiAliasType = "advanced". решил сделать свой класс для отображения текста, кот. читается из xml, текст не отображался ни в какую!.. в конце концов все закомментил и скопировал код из примера iNils в свою флешку- снова ничего! Опытным путем пришел к тому, что динамический текст не показывается елси на сцене нет динамического поля, пусть даже пустого, без линкажда и т.д. Это у меня так хитро глючит CS3 или это общий глюк или так и должно быть?? Это часть кода, кот. выкладывал iNils. если со сцены убрать динамическое поле, то текста нет... var my_format:TextFormat = new TextFormat();
my_format.font = "Times New Roman";
my_format.size = 20;
var my_text1:TextField = this.createTextField("my_text1", this.getNextHighestDepth(), 10, 10, 300, 30);
my_text1.text = "This text uses advanced anti-aliasing.";
my_text1.antiAliasType = "advanced";
my_text1.border = true;
my_text1.embedFonts = true;
my_text1.setTextFormat(my_format);
Помогите разобраться плиз... |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
вот эта строка
говорит о том, что шрифт должен быть внедрен в swf, иначе текст отображатся не будет. Наличие текстового поля обеспечивает внедренние шрифта (не само наличие конечно, а определнные настройки поля). |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Спасибо за ответ.
Насчет строчки это понятно! Я просто не знал что нужно еще текстовое поле на сцену помещать. Какие настройки текстового поля должны быть? В нем просто нужно в embeded выбрать те шрифты кот. используешь? Выглядит это все как танцы с бубнами ![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Цитата:
А вот через текстовые поля - есть. Поэтому "шрифты в либе - зло" |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Ок. Спасибо! Теперь буду знать....
![]() EDITED: а есть ли какиенибудь пляски с бубнами при HTML текстах? Пример их хелпа снаружи в АС работает, а внтури класа не хочет, оч. странно... текст: "<font face='Times New Roman' size='25'>This is how you assign HTML text to a text field.</font><br>It's very useful.</br>" Последний раз редактировалось Denis Davidov; 24.05.2008 в 04:09. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Причем, сейчас проерил, поле text и htmlText содежрат вполен разумные значения:
This is how you assign HTML text to a text field. It's very useful. и <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="25" COLOR="#000000" LETTERSPACING="0" KERNING="0">This is how you assign HTML text to a text field.<FONT SIZE="12"></FONT></FONT></P><P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">It's very useful.</FONT></P> This is h u assign T text t a text ield (cм. jpg) Что за глюк??? |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Просто думал что это общие грабли а не мой косяк в классе...
Не хотел лишний раз напрягать людей чтением классов... Вот класс: import com.mosesSupposes.fuse.*;
class com.davydden.TxtField extends MovieClip {
private var _y, _height, _x, _width;
private var __perc:Object;//w,h,x,y coordinantes in percents of Stage, needs to reScale __perc["_x","_y","_width","_height"]=...
private var __txt:TextField;//dynamic multiline text
private var __Func:Function,__scope:Object,__params:Array;//Callback
private var __FuncH:Function,__scopeH:Object,__paramsH:Array;//Hide callback
var __textColor;// color of the text in Hex
var __backColor;//color of the background in Hex
private var __backAlpha:Number;//alpha of the background
private var __textFormat:TextFormat;//format of the text
private var __scale:Array;//array of strings, containig properties to rescale "_x", "_y",....
private var __back_mc:MovieClip;//movie Clip with background
private var __s:Object;// object with .x,.y.widht.height
function TxtField() {
super();
trace("TxtField:TxtField...");
com.mosesSupposes.fuse.ZigoEngine.register(com.mosesSupposes.fuse.Fuse, com.mosesSupposes.fuse.PennerEasing);
}
function rgb2Hex(rgb) {
if (rgb.length>1) {
var r=rgb[0];
var g=rgb[1];
var b=rgb[2];
//var hex:String = "0x"+ r.toString(16)+g.toString(16)+b.toString(16);
//return hex;
return (r << 16 | g << 8 | b);
} else {
return rgb;
}
}
function drawBack(w:Number,h:Number) {
trace("TxtField:drawBack:...");
this.__back_mc=this.createEmptyMovieClip("back", 1);
this.__back_mc._x=0;
this.__back_mc._y=0;
//trace("this.__back_mc :x: "+this.__back_mc["_x"]+" "+this.__back_mc["x"]);
trace(this.__backColor);
with (this.__back_mc) {
beginFill(this.__backColor,100);
moveTo(0,0);
lineTo(w,0);
lineTo(w,h);
lineTo(0,h);
endFill();
}//end with
this.__back_mc._alpha=__backAlpha;
trace("back w/h/alpha: "+this.__back_mc._width+" "+this.__back_mc._height+" "+this.__back_mc._alpha);
}
function init(_txt:String,x:Number,y:Number,w:Number,h:Number,_textColor,_backColor,_backAlpha:Number,_textFormat:TextFormat,_scale:Array) {
trace("TxtField:init...");
this.__s.x="width";
this.__s.y="height";
this.__s.width="width";
this.__s.height="height";
this._x=x;
this._y=y;
this.__textColor=rgb2Hex(_textColor);//[255, 255, 255];
this.__backColor=rgb2Hex(_backColor);//[202, 4, 4];
trace("__textColor: "+this.__textColor+" __backColor: "+this.__backColor);
this.drawBack(w,h);
trace("this w/h: "+this._width+" "+this._height);
this.initScale(_scale);
this.__textFormat = _textFormat;
this.__textFormat.color = this.__textColor;
this.__txt = this.createTextField("txt2", this.getNextHighestDepth(), 0, 0, w,h);
trace("this w/h: "+this._width+" "+this._height);
this.setText(_txt);
this.__FuncH=undefined;
this.__scopeH=undefined;
this.__paramsH=undefined;
this.__Func=undefined;
this.__scope=undefined;
this.__params=undefined;
//Stage.addListener(this);
}
function onResize() {
this.scale();
}
function scale() {
for (var i=0; i<__scale.length;i++) {
var sc=__scale[i];
this[sc]=this.__perc[sc] * Stage[this.__s[sc]];
trace("TxtField:scale "+i+"="+this[sc]);
}
trace(this["_x"]);
}
function setText(txt:String) {
trace("TxtField:setText... "+txt);
this.__txt.html = true;
this.__txt.wordWrap = true;
this.__txt.multiline = true;
//this.__txt.autoSize = "left";
this.__txt.antiAliasType = "advanced";
this.__txt.border = false;
this.__txt.embedFonts = true;
this.__txt.selectable = false;
this.__txt.htmlText=txt;
//this.__txt.text=txt;
//this.__txt.setTextFormat(this.__textFormat);
trace("TF :"+this.__textFormat);
trace("__txt.text: "+this.__txt.text);
trace("this.__txt.htmlTex: "+this.__txt.htmlText);
}
function setCallback(_Func:Function,_scope:Object,_params:Array) {
this.__Func=_Func;
this.__scope=_scope;
this.__params=_params;
}
function setHideCallback(_Func:Function,_scope:Object,_params:Array) {
this.__FuncH=_Func;
this.__scopeH=_scope;
this.__paramsH=_params;
}
function initScale(_scale:Array) {
trace("TxtField:setScale..."+_scale);
this.__scale=_scale;
for (var i=0; i<__scale.length;i++) {
var sc=__scale[i];
trace(this.__s[sc]);
trace("Stage[i] "+Stage[this.__s[sc]]);
this.__perc[sc] = this[sc]/Stage[this.__s[sc]];
trace("TxtField:writeScale: "+sc+":"+this.__perc[sc]);
} //this.hold_mc._x = this.hold_mc._x-(_root._xmouse-Stage.width/2)/20;
trace("Stage[x]: "+Stage["width"]+" :: "+Stage.width);
}
}
Во флеше это так: var descriptS:String;
descriptS="<font face='Times New Roman' size='25'>This is how you assign HTML text to a text field.</font><br>It's very useful.</br>";
var my_format:TextFormat = new TextFormat();
my_format.font = "Times New Roman";
my_format.size = 15;
this.descriptionTxt=this.createEmptyMovieClip("dTxt",this.getNextHighestDepth());
this.descriptionTxt._x=250;
this.descriptionTxt._y=250;
this.descriptionTxt.__proto__=TxtField.prototype;
var txtW=500;
this.descriptionTxt.init(descriptS,Stage.width/2-txtW/2,0,txtW,Stage.height,[255,0,0],[98,98,98],100,my_format,["x","y","width","height"]);
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
да уж...
а у тебя какая версия флеш? CS3? |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|