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

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

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
По умолчанию Объект теряет свойство при создании последующих объектов

Под свойством подразумевается возврат мувика на прежнее положение при нажатии на кнопку “Убрать на место”. Нажимая на кубик этот объект, выдвигается на определенное расстояние, но если создать еще один кубик, то первый не убирается на место, откуда был вызван.
Код для примера
Код AS1/AS2:
var addCount:Number = 0;
var oneBigMovie:MovieClip = this.createEmptyMovieClip('bigMovie', 998);
oneBigMovie._y = -100;
function add_mc_f() {
	addCount++;
	//квадрат
	var main:MovieClip = oneBigMovie.createEmptyMovieClip("square_mc"+addCount, addCount);
	main.beginFill(0xFF0000);
	main.moveTo(10,10);
	main.lineTo(100,10);
	main.lineTo(100,100);
	main.lineTo(10,100);
	main.endFill();
	main._y = 110*addCount;
	main.onPress = function() {
		main._x = 200;
	};
 
	var btn:MovieClip = this.createEmptyMovieClip("btn", 2);
	btn.beginFill(0xFF0000);
	btn.moveTo(10,10);
	btn.lineTo(160,10);
	btn.lineTo(160,40);
	btn.lineTo(10,40);
	btn.endFill();
	btn._x = btn._y=300;
	var txt2:TextField = btn.createTextField("txt2", 999, 10, 10, 100, 100);
	txt2.text = "Добавить";
	btn.onPress = function() {
		add_mc_f();
	};
 
	var mov:MovieClip = this.createEmptyMovieClip("btn_x", 3);
	mov.beginFill(0xFF0000);
	mov.moveTo(10,10);
	mov.lineTo(160,10);
	mov.lineTo(160,40);
	mov.lineTo(10,40);
	mov.endFill();
	mov._x = 300;
	mov._y = 350;
	mov._alpha = 50;
	var txt:TextField = mov.createTextField("txt2", 999, 10, 10, 100, 100);
	txt.text = "Убрать на место";
	btn_x.onPress = function() {
		main._x = 0;
		trace(main);
	};
}
add_mc_f();

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

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

Старый 23.05.2009, 16:00
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 3  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Сделал так
Код:
var addCount:Number = 0;
var oneBigMovie:MovieClip = this.createEmptyMovieClip('bigMovie', 998);
oneBigMovie._y = -100;
function add_mc_f() {
	addCount++;
	//квадрат
	var main:MovieClip = oneBigMovie.createEmptyMovieClip("square_mc"+addCount, addCount);
	main.beginFill(0xFF0000);
	main.moveTo(10,10);
	main.lineTo(100,10);
	main.lineTo(100,100);
	main.lineTo(10,100);
	main.endFill();
	main._y = 110*addCount;
	main.onPress = function() {
		main._x = 200;
		ID = this._name.substr(+9);
		trace(ID);
	};

	var btn:MovieClip = this.createEmptyMovieClip("btn", 2);
	btn.beginFill(0xFF0000);
	btn.moveTo(10,10);
	btn.lineTo(160,10);
	btn.lineTo(160,40);
	btn.lineTo(10,40);
	btn.endFill();
	btn._x = btn._y=300;
	var txt2:TextField = btn.createTextField("txt2", 999, 10, 10, 100, 100);
	txt2.text = "Добавить";
	btn.onPress = function() {
		add_mc_f();
	};

	var mov:MovieClip = this.createEmptyMovieClip("btn_x", 3);
	mov.beginFill(0xFF0000);
	mov.moveTo(10,10);
	mov.lineTo(160,10);
	mov.lineTo(160,40);
	mov.lineTo(10,40);
	mov.endFill();
	mov._x = 300;
	mov._y = 350;
	mov._alpha = 50;
	var txt:TextField = mov.createTextField("txt2", 999, 10, 10, 100, 100);
	txt.text = "Убрать на место";
	btn_x.onPress = function() {
		oneBigMovie["square_mc"+ID]._x = 0;
	};
}
add_mc_f();
Не знаю, на сколько это правильно или неправильно в моем случае, главное работает

Добавлено через 1 час 32 минуты
Добавил координату _у и возникли ещё косяки.

Создав второй кубик, нажав на первый, потом на кнопку "Убрать на место" первый кубик занимает место второго, а должен вернуться на прежнее место.
Я что-то опять упустил?

Код:
var addCount:Number = 0;
var oneBigMovie:MovieClip = this.createEmptyMovieClip('bigMovie', 998);
oneBigMovie._y = -100;
function add_mc_f() {
	addCount++;
	//квадрат
	var main:MovieClip = oneBigMovie.createEmptyMovieClip("square_mc"+addCount, addCount);
	main.beginFill(0xFF0000);
	main.moveTo(10,10);
	main.lineTo(100,10);
	main.lineTo(100,100);
	main.lineTo(10,100);
	main.endFill();
	main._y = 110*addCount;
	main.onPress = function() {
		this._x = 200;
		this._y = 200		ID = this._name.substr(+9);
		trace(ID);
	};

	var btn:MovieClip = this.createEmptyMovieClip("btn", 2);
	btn.beginFill(0xFF0000);
	btn.moveTo(10,10);
	btn.lineTo(160,10);
	btn.lineTo(160,40);
	btn.lineTo(10,40);
	btn.endFill();
	btn._x = btn._y=300;
	var txt2:TextField = btn.createTextField("txt2", 999, 10, 10, 100, 100);
	txt2.text = "Добавить";
	btn.onPress = function() {
		add_mc_f();
	};

	var mov:MovieClip = this.createEmptyMovieClip("btn_x", 3);
	mov.beginFill(0xFF0000);
	mov.moveTo(10,10);
	mov.lineTo(160,10);
	mov.lineTo(160,40);
	mov.lineTo(10,40);
	mov.endFill();
	mov._x = 300;
	mov._y = 350;
	mov._alpha = 50;
	var txt:TextField = mov.createTextField("txt2", 999, 10, 10, 100, 100);
	txt.text = "Убрать на место";
	mov.onPress = function() {
		oneBigMovie["square_mc"+ID]._x = 0;
		oneBigMovie["square_mc"+ID]._y = 110*addCount;
		//trace(ID);
	};
}
add_mc_f();

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

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

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


 


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


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