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

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

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

Регистрация: Jul 2005
Сообщений: 41
Question loadMovieClip + onPress - обязательно делать метки ???

Собственно вопрос - делаем пустой мувик, грузим в него PNG, потом добавляем к нему .onPress и ничего не происходит ... Собственно вопрос - обязательно рисовать в мувике квадрат или можно заставить его работать как-то целиком ? о надежде застваить работать только закрашенные области в транспарентном PNG я уже и спрашивать боюсь
---
Что имеется ввиду (для тех кто в банке) :
Код:
_root.createEmptyMovieClip("but_ad", _root.getNextHighestDepth());
var buttonLoader:MovieClipLoader = new MovieClipLoader();
buttonLoader.addListener(this);
buttonLoader.loadClip("add.png", _root.but_ad);
_root.but_ad.onPress = function() {
//функция для кнопки
};
т.е. можно ли :
1) Наш мувик заставить откликаться на onPress не рисуя в нём какой-нить шейп ?
2) Можно ли заставить его откликаться только там где наш PNG закрашен опять-же ничего не рисуя ?

Старый 30.10.2005, 17:15
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
1. Можно. С помощью метода hitArea.
имя_кнопки.hitArea = имя_области_по_форме_которой_будет_работать_кнопка
2. Нельзя, все равно надо задавать область.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 30.10.2005, 17:20
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 3  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
1) Угу, но только hitArea тоже требует референс на какую-нить форму - а просто использовать весь размера мувика никак нельзя ? не рисуя прямоугольник в его размер ?
2) Жаль

Старый 30.10.2005, 17:28
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 4  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
ой, промазал простите, точно если нолик то будет весь клип
Спасиба большое !

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

Регистрация: Jul 2005
Сообщений: 41
[q]If the hitArea property does not exist or the value is null or undefined, the movie clip itself is used as the hit area.[/q]
Неа, не работает
Т.е. всётаки рисовать гадский прямоугольник ?

Старый 30.10.2005, 17:42
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 6  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
Так, может это я дурак, но что я делаю не так :
Код:
_root.createEmptyMovieClip("but_ad", _root.getNextHighestDepth());
//_root.but_ad.loadClip("add.png");
var buttonLoader:MovieClipLoader = new MovieClipLoader();
buttonLoader.addListener(this);
buttonLoader.loadClip("add.png", _root.but_ad);

_root.createEmptyMovieClip("but_ad_s", _root.getNextHighestDepth());
with (_root.but_ad_s) {
	beginFill(0x000000, 90);
		lineStyle(2, 0x000000, 100);
		moveTo(0, 0);
		lineTo(0, 12);
		lineTo(12,12);
		lineTo(12,0);
		lineTo(0,0);
		endFill();
};
_root.but_ad.hitArea = _root.but_ad_s;
_root.but_ad_s._visible=false;

_root.but_ad.onPress = function() {
//функция
};
Не работает Хде ошипка ? Даже с прямоугольником не работает

Старый 30.10.2005, 17:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
А с чего ты решил что флеш грузит png картинки?
И потом, метод onPress надо назначать, только после того как картинка загрузилась. А не перед.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 30.10.2005, 17:59
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 8  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
Грузит, 8ка, правда надо в publush settings указывать именно 8ку как целевой плеер - с загрузкой PNG проблем нет - кнопка создаётся и показывается правильно, а вот .onPress к ней не крепится ...
...загрузилась ... БЛИН ... точно, счас пойду покопаю на эту тему ... у меня же ещё давно была проблема с тем что фрейм грузится вовсе не всегда когда должен по логике

Старый 30.10.2005, 18:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
С логикой все ясно. Ты начал загрузку, назначил метод, только вот твой метод слетает пока ты полностью не загрузишь в клип контент.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 30.10.2005, 18:10
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 10  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
Неа, с логикой как-раз неясно - если AS скриптовый язык, то по идее до выполнения строчки где идёт загрузка, следующая строка выполняться не должна - но эт по идее Отсюда и все мои проблемы
в итоге заработало вот так :
Код:
function onLoadComplete (mc:MovieClip){ 
	_root.but_ad.onPress = function() {
		a = random(Stage.width);
		b = random(Stage.height);
		c = random(Stage.width)-a-4;
		d = random(Stage.height)-b-4;
		draw_border(a, b, c, d, 0);
	};
};
.hitArea не нужен оказался, достаточно и вправду дождаться загрузки PNGшки

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

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

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


 


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


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