Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.05.2008, 10:53
Curizor вне форума Посмотреть профиль Отправить личное сообщение для Curizor Найти все сообщения от Curizor
  № 1  
Ответить с цитированием
Curizor

Регистрация: May 2008
Сообщений: 5
По умолчанию выравнивание в бегущей строке

Здравствуйте. Вот у меня есть меню в виде бегущей строки. Там названия городов типа плывут. Названия берутся из xml. Подскажите пожалуйста, как мне сделать одинаковое между названиями расстояние? А то получается то шире (если название города короткое), то уже (если длинное). Можно, конечно, пробелов в эксэмэльке понаставить, но она генерится автоматически и города будут меняться заказчиком... Что же делать?

Старый 26.05.2008, 11:08
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 2  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Поясните как релизована бегущая строка. Подробно, если можно.

Старый 26.05.2008, 11:24
Curizor вне форума Посмотреть профиль Отправить личное сообщение для Curizor Найти все сообщения от Curizor
  № 3  
Ответить с цитированием
Curizor

Регистрация: 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.
Старый 26.05.2008, 14:44
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 4  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Насколько я понимаю расстановка названий по оси X производится в этой строке:
Код:
resultMC._x = index * resultMC._width;
Поправьте если я неправ.

Старый 26.05.2008, 15:15
Curizor вне форума Посмотреть профиль Отправить личное сообщение для Curizor Найти все сообщения от Curizor
  № 5  
Ответить с цитированием
Curizor

Регистрация: May 2008
Сообщений: 5
и как же мне сделать, чтобы названия друг от друга шли на динаковом расстоянии?

Старый 26.05.2008, 15:21
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Curizor, исправьте свой третий пост в этой теме. Для оформления кода надо использовать теги [code][/code]

Старый 26.05.2008, 15:29
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 7  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Ответье пожалуйста на поставленный вопрос, заданный в предыдущем моем посте!

Старый 26.05.2008, 15:41
Curizor вне форума Посмотреть профиль Отправить личное сообщение для Curizor Найти все сообщения от Curizor
  № 8  
Ответить с цитированием
Curizor

Регистрация: May 2008
Сообщений: 5
Вообще-то это ширина всей строки с названиями городов

исправил


Последний раз редактировалось alexcon314; 26.05.2008 в 15:49.
Старый 26.05.2008, 15:46
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 9  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Код:
resultMC._x
не может быть шириной. Это позиция левого-верхнего угла клипа, относительно начала координат клипа-носителя. Другое дело, что она рассчитывается через ширину клипа. Но это не имеет отношения к делу.

1.Вы ответьте да или нет. При реализации всего этого Вы подразумевали, что в этой строке будут задаваться позиции названий1/ городов или нет?
2. Что исправили?
3. Работает ли?


Последний раз редактировалось Alex_beginner; 26.05.2008 в 15:48.
Старый 26.05.2008, 16:07
Curizor вне форума Посмотреть профиль Отправить личное сообщение для Curizor Найти все сообщения от Curizor
  № 10  
Ответить с цитированием
Curizor

Регистрация: May 2008
Сообщений: 5
Да, так. Не работает. "Исправил" я написал модератору. Извините, я в форумах - новичек.

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:20.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.