![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Sep 2004
Сообщений: 86
|
здравствуйте.
есть код создания мувиклипа с картинками и текстом: function addText() {
_root.base.text_mc.setMask(_root.scroll_mask);
_root.scroll_mask._x = 0;
_root.scroll_mask._y = 253;
_root.scroll_mask._width = Stage.width - 20;
_root.scroll_mask._height = Stage.height - 253 - 50;
_root.scroll_line.swapDepths(1001);
_root.scroll_mc.swapDepths(1002);
_root.scroll_line._x = Stage.width - 30;
_root.scroll_line._y = 253;
_root.scroll_line._height = _root.scroll_mask._height - 10;
_root.scroll_mc._x = Stage.width - 30;
_root.scroll_mc._y = 253;
if (_root.scroll_mask._height >= _root.base.text_mc._height) {
_root.scroll_line._visible = false;
_root.scroll_mc._visible = false;
} else {
_root.scroll_line._visible = true;
_root.scroll_mc._visible = true;
}
var tY = 253;
var tH = _root.scroll_line._height - _root.scroll_mc._height;
var sHY = tY + tH;
var varDif:Number = _root.base.text_mc._height;
_root.scroll_mc.onPress = function() {
this.startDrag(false, this._x, tY, this._x, sHY);
this.onMouseMove = function() {
_root.base.text_mc._y = - varDif * ((this._y - 253)/sHY) + 253;
}
};
_root.scroll_mc.onRelease = _root.scroll_mc.onReleaseOutside = function () {
this.stopDrag();
delete this.onMouseMove;
};
}
my_XML = new XML();
my_XML.onLoad = xmlLoad;
my_XML.ignoreWhite = true;
function xmlLoad(success) {
rootNode = "";
if (success) {
rootNode = my_XML.firstChild.childNodes;
nodeLength = rootNode.length;
var arrItem = new Array();
var itemY = 0;
_root.createEmptyMovieClip("base", 1);
_root.base.swapDepths(1000);
_root.base._x = 10;
_root.base._y = 0;
_root.base.createEmptyMovieClip("text_mc", 2);
_root.base.text_mc._y = 253;
for (var i = 0; i < nodeLength; i++) {
_root.base.text_mc.attachMovie("imgToload", "imgToload" + i, i);
_root.base.text_mc["imgToload" + i].loadMovie(rootNode[i].attributes.imgLink);
_root.base.text_mc.attachMovie("txt", "txt" + i, 1000 + i);
_root.base.text_mc["txt" + i].txt.html = true;
_root.base.text_mc["txt" + i].txt.multiline = true;
_root.base.text_mc["txt" + i].txt.autoSize = true;
_root.base.text_mc["txt" + i].txt.htmlText = rootNode[i].firstChild.nodeValue;
var imgW:Number = (Number(rootNode[i].attributes.imgWidth));
if (rootNode[i].attributes.imgWidth == undefined) {
_root.base.text_mc["txt" + i].txt._x = _root.base.text_mc._x;
_root.base.text_mc["txt" + i].txt._y = _root.base.text_mc._y + 10 + itemY - 253;
arrItem.push(_root.base.text_mc["txt" + i]);
_root.base.text_mc["txt" + i].txt._width = Stage.width - 80;
} else {
_root.base.text_mc["imgToload" + i]._x = _root.base.text_mc._x;
_root.base.text_mc["imgToload" + i]._y = _root.base.text_mc._y + 10 + itemY - 253;
arrItem.push(_root.base.text_mc["txt" + i]);
_root.base.text_mc["txt" + i].txt._width = Stage.width - rootNode[i].attributes.imgWidth - 80;
_root.base.text_mc["txt" + i].txt._x = imgW + 30;
_root.base.text_mc["txt" + i].txt._y = _root.base.text_mc["imgToload" + i]._y;
}
var textFormat:TextFormat = new TextFormat (Eurostile, 12, 0x666666);
_root.base.text_mc["txt" + i].txt.setTextFormat(textFormat);
if (_root.base.text_mc["txt" + i].txt._height > rootNode[i].attributes.imgHeight || rootNode[i].attributes.imgWidth == undefined) {
itemY = itemY + _root.base.text_mc["txt" + i].txt._height + 20;
} else {
itemY = itemY + (Number(rootNode[i].attributes.imgHeight)) + 20;
}
}
trace(arrItem)
addText();
} else {
_root.errorTxt = "Can't load file. Please, try latter.";
}
}
my_XML.load("data/" + _global.xmlToLoad);
вот ссылка на рабочий файл: http://elzone.net/test/ignat/work5.swf (можно проверить изменив размеры браузера и перегрузив страницу) в чем трабла, может кто подскажет. Последний раз редактировалось elzone; 04.11.2009 в 10:58. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
http://elzone.net/test/ignat/work5.swf, а не http://elzone.net/test/ignat/work4.swf
Походу при Stage.onResize неправильно пересчитывается _root.scroll_line._height тут:
__________________
john |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|