![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 5
|
Здравствуйте. Вот у меня есть меню в виде бегущей строки. Там названия городов типа плывут. Названия берутся из xml. Подскажите пожалуйста, как мне сделать одинаковое между названиями расстояние? А то получается то шире (если название города короткое), то уже (если длинное). Можно, конечно, пробелов в эксэмэльке понаставить, но она генерится автоматически и города будут меняться заказчиком... Что же делать?
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Поясните как релизована бегущая строка. Подробно, если можно.
|
|
|||||
|
Регистрация: May 2008
Сообщений: 5
|
Вот код:
var isPlay = true;
var clipList:Array = new Array();
if (_root['href'] == undefined) _root['href'] = "sample.xml";
function initSity(caption, href, index) {
var resultMC = this.cityProto.duplicateMovieClip("city_" + index, this.getNextHighestDepth());
resultMC._y = 0;
resultMC._x = index * resultMC._width;
resultMC.__proto__ = new CSity();
resultMC.init(caption, href, this);
return resultMC;
}
function init(configFileName) {
_root.config = new XML();
_root.config.ignoreWhite = true;
_root.config['owner'] = this;
_root.config.onLoad = function(success:Boolean) {
if (success) {
this['owner'].configure(this);
}
}
_root.config.load(configFileName);
}
function configure(xml:XML) {
var cities = xml.firstChild.childNodes;
var len = cities.length
for(var i = 0; i < len; i++) {
if (cities[i].nodeName == 'city') {
var city = cities[i].childNodes;
var name = city[0].firstChild.nodeValue;
var href = city[1].firstChild.nodeValue;
clipList.push(initSity(name, href, i));
}
}
}
init(_root['href']);
function onEnterFrame() {
// move captions
if (isPlay) {
for (var i = 0; i < clipList.length; i++) {
clipList[i]._x -= 0.3;
if (clipList[i]._x < -clipList[i]._width) {
clipList[i]._x = (clipList.length - 1) * clipList[i]._width;
}
}
}
}
Последний раз редактировалось Curizor; 26.05.2008 в 15:40. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Насколько я понимаю расстановка названий по оси X производится в этой строке:
Поправьте если я неправ.
|
|
|||||
|
Регистрация: May 2008
Сообщений: 5
|
и как же мне сделать, чтобы названия друг от друга шли на динаковом расстоянии?
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Ответье пожалуйста на поставленный вопрос, заданный в предыдущем моем посте!
|
|
|||||
|
Регистрация: May 2008
Сообщений: 5
|
Вообще-то это ширина всей строки с названиями городов
исправил Последний раз редактировалось alexcon314; 26.05.2008 в 15:49. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
не может быть шириной. Это позиция левого-верхнего угла клипа, относительно начала координат клипа-носителя. Другое дело, что она рассчитывается через ширину клипа. Но это не имеет отношения к делу.
1.Вы ответьте да или нет. При реализации всего этого Вы подразумевали, что в этой строке будут задаваться позиции названий1/ городов или нет? 2. Что исправили? 3. Работает ли? Последний раз редактировалось Alex_beginner; 26.05.2008 в 15:48. |
|
|||||
|
Регистрация: May 2008
Сообщений: 5
|
Да, так. Не работает. "Исправил" я написал модератору. Извините, я в форумах - новичек.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|