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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.05.2006, 13:08
rockafella вне форума Посмотреть профиль Отправить личное сообщение для rockafella Найти все сообщения от rockafella
  № 1  
Ответить с цитированием
rockafella
[+ 1 16.05.2006]
[++ 1 16.05.2006]

Регистрация: Apr 2004
Сообщений: 48
Отправить сообщение для rockafella с помощью ICQ
По умолчанию как сохранить динамически нарисованные линии

как сохранить динамически нарисованные линии во flash.
Фишка такая, я рисую много линий (фрагмент кода)

Код:
...draw_.onMouseMove = function () {
	if (detect == 1) {
	this.createEmptyMovieClip("line"+count, count);
	var line = this["line"+count];

	line.lineStyle(5, this.myColor, 100);
	line.dashTo(startX, startY, this._xmouse, this._ymouse, 4, 6);
		updateAfterEvent();
	}
}
При отпускании кнопки мыши я заношу данные в массив:

Код:
draw_.onMouseUp = function () {
	with(this["line"+ count]){
	var lineArray:Array = new Array();
	trace(this["line"+ count]);
lineArray[0] = startX;
lineArray[1] = startY;
lineArray[2] = this._xmouse;
lineArray[3] = this._ymouse;
	lineArray[4] = this.myColor;
	}
	detect = 0;
};
Вопрос как сохранить эти данные внутри мувика, чтобы когда головка плеера вернется на кадр в котором линии были нарисованы, линии оставались бы на месте. А так они обнуляются и кадр пустой.
__________________
Очень плохо когда не знал, и еще и забыл -((((

Старый 13.05.2006, 14:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ты уже их сохранил в массив. Вот пройдись по нему и нарисуй снова.

Старый 13.05.2006, 14:55
rockafella вне форума Посмотреть профиль Отправить личное сообщение для rockafella Найти все сообщения от rockafella
  № 3  
Ответить с цитированием
rockafella
[+ 1 16.05.2006]
[++ 1 16.05.2006]

Регистрация: Apr 2004
Сообщений: 48
Отправить сообщение для rockafella с помощью ICQ
Я так и хотел, но не получилось, поэтому и спросил.
Сейчас еще раз попробую.
__________________
Очень плохо когда не знал, и еще и забыл -((((

Старый 13.05.2006, 16:33
rockafella вне форума Посмотреть профиль Отправить личное сообщение для rockafella Найти все сообщения от rockafella
  № 4  
Ответить с цитированием
rockafella
[+ 1 16.05.2006]
[++ 1 16.05.2006]

Регистрация: Apr 2004
Сообщений: 48
Отправить сообщение для rockafella с помощью ICQ
строка
Код:
draw_.onMouseUp = function () {
	with(this["line"+ count]){
             trace(this["line"+ count])
          //...
                trace(lineArray[0])

}
}
в trace показывает
Код:
_level0.map.draw_.line1
 345
а когда обращаешся
Код:
lineXML.createTextNode(_root.map.draw_["line" + r].lineArray[0]);
trace(_root.map.draw_["line" + r]);
trace(_root.map.draw_["line" + r].lineArray[0]);
первый trace возвращает - _level0.map.draw_.line1;
а второй возвращает - undefined
Почему?
__________________
Очень плохо когда не знал, и еще и забыл -((((

Старый 13.05.2006, 17:41
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 5  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Ну, вероятно, потому что ты ничего не загоняеш в переменную lineArray[0]...
__________________
Всё гениальное просто.

Старый 13.05.2006, 18:05
rockafella вне форума Посмотреть профиль Отправить личное сообщение для rockafella Найти все сообщения от rockafella
  № 6  
Ответить с цитированием
rockafella
[+ 1 16.05.2006]
[++ 1 16.05.2006]

Регистрация: Apr 2004
Сообщений: 48
Отправить сообщение для rockafella с помощью ICQ
Homo Sapiens

там же написано во втором листинге, что
trace(lineArray[0])
возвращает 345
__________________
Очень плохо когда не знал, и еще и забыл -((((

Старый 13.05.2006, 18:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А с чего ты взял, что var lineArray будет создано именно в заданном мувике и при этом не будет удалено после выполнения?

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

Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
Чтобы массив остался в мувике, из которого вызывается функция, надо вместо
Код:
var lineArray:Array = new Array();
написать
Код:
this.lineArray= new Array();
тогда внутри функции обращение к массиву будет this.lineArray, а вне функции:
_root.map.draw.lineArray
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_.

Старый 13.05.2006, 18:46
rockafella вне форума Посмотреть профиль Отправить личное сообщение для rockafella Найти все сообщения от rockafella
  № 9  
Ответить с цитированием
rockafella
[+ 1 16.05.2006]
[++ 1 16.05.2006]

Регистрация: Apr 2004
Сообщений: 48
Отправить сообщение для rockafella с помощью ICQ
2 ETC

Я поэтому и спросил, как сохранить созданный мувиклип вместе с массивом, чтобы он не удалялся после события.
__________________
Очень плохо когда не знал, и еще и забыл -((((

Старый 13.05.2006, 18:52
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 10  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
пересесенно в раздел для новеньких и ленивых
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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