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

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

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

Регистрация: Jun 2009
Сообщений: 81
По умолчанию Маска и перемещение Спрайта под маской

Написал код, где создается спрайт который под маской прямоугольника в нем естественно будут какието объекты и тп. На сцене уже созданы три объекта Кнопка вверх кнопка вниз и маска в виде клипа белого прямоугольника. Спрайт создается кодом.

myMask(маска), up_btn(Кнопка вверх), down_btn(Кнопка вниз)

Сам код:
Код AS3:
var Sprite:Sprite = new Sprite();
addChild(Sprite);
Sprite.mask = myMask;
Sprite.x = 10;
Sprite.y = 10;
up_btn.addEventListener(MouseEvent.CLICK, function(e:Event){Sprite.y -= 10});
down_btn.addEventListener(MouseEvent.CLICK, function(e:Event){Sprite.y += 10});
Но при нажатии не чего не происходит Подскажите как перемещать объект под маской...

Старый 02.05.2010, 14:17
cv' вне форума Посмотреть профиль Отправить личное сообщение для cv' Найти все сообщения от cv'
  № 2  
Ответить с цитированием
cv'

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Мне кажется, проблема либо в назывании объекта именем "Sprite", либо в анонимной функции.

Вот так все работает.
Код AS3:
var st:Sprite = new Sprite();
var msk:Sprite = new Sprite();
var mskS:Sprite = new Sprite();
var up:Sprite = new Sprite();
var down:Sprite = new Sprite();
addChild(st)
addChild(msk)
addChild(mskS)
addChild(up)
addChild(down)
with (st)
{
	graphics.beginFill(0x000000);
	graphics.drawRect(0,0,10,10);
	graphics.endFill();
	x = 15;
	y = 15;
	mask = msk;
}
with (msk)
{
	graphics.beginFill(0x000000);
	graphics.drawRect(0,0,20,20);
	graphics.endFill();
	x = 10
	y = 10
}
with (mskS)
{
	graphics.lineStyle(2,0x000000)
	graphics.beginFill(0x000000,0);
	graphics.drawRect(0,0,20,20);
	graphics.endFill();
	x = 10
	y = 10
}
with (up)
{
	graphics.beginFill(0x00FFFF);
	graphics.drawRect(0,0,10,10);
	graphics.endFill();
	addEventListener(MouseEvent.CLICK,moveSprite);
	buttonMode = true
	x = 50;
}
with (down)
{
	graphics.beginFill(0x00FFFF);
	graphics.drawRect(0,0,10,10);
	graphics.endFill();
	addEventListener(MouseEvent.CLICK,moveSprite);
	buttonMode = true
	x = 50;
	y = 15;
}
function moveSprite(evt:MouseEvent)
{
	if(evt.currentTarget == up)
	{
		st.y -= 1
	} else {
		st.y += 1
	}
}


Последний раз редактировалось cv'; 02.05.2010 в 14:21.
Старый 02.05.2010, 14:55
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 3  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Кстати, во флеше это момент принципиальный.
Если пишешь имя переменной и IDE подсвечивает ее как синтаксис AS3, надо переименовывать не раздумывая.

Старый 02.05.2010, 23:36
GoodWin74 вне форума Посмотреть профиль Отправить личное сообщение для GoodWin74 Найти все сообщения от GoodWin74
  № 4  
Ответить с цитированием
GoodWin74
 
Аватар для GoodWin74

Регистрация: Jun 2009
Сообщений: 81
да это чисто пример имена другие отличные от Типов...

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

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

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


 


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


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