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

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

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

Регистрация: Sep 2009
Адрес: Челябинск
Сообщений: 43
По умолчанию одна функция удаляет другую, как по другому написать??

Клип состоит в том что стоит гараж(mc), немного размытый, я навожу на него и он становится четким, навожу на ворота(mc1) и они поднимаются. вот код
Код AS1/AS2:
mc.filters = [new flash.filters.BlurFilter(10, 10, 1)];
import flash.filters.BlurFilter
var blur:Number = 10;
mc.onRollOut = function(){
    blur = 0
    this.onEnterFrame = function(){
       mc.filters = [new BlurFilter(blur,blur,1)];
        if((blur+=1)>=10) delete this.onEnterFrame;
    }
}
mc.onRollOver = function(){
    this.onEnterFrame = function(){
        mc.filters = [new BlurFilter(blur,blur,1)];
        if((blur-=1)<=0) {
            mc.filters = null;
            delete this.onEnterFrame;
        }
    }
}
function zoomIn() {
	this.onEnterFrame = function() {
		if (this._yscale<100) {
			this._yscale += 5;
		}
	};
}
function zoomOut() {
	this.onEnterFrame = function() {
		if (this._yscale>10) {
			this._yscale -= 5;
		}
	};
}
mc.mc1.onRollOver = zoomOut;
mc.mc1.onRollOut = zoomIn;
проблема в том что ворота гаража не поднимаются... просьба в совете, как можно по другому написать сие дело??
PS: дверь(mc1) находится в клипе с гаражом(mc) и сделана отдельным мувиком могу приложить файл если нужно.

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Определи новое свойство для ворот
Код AS1/AS2:
[]

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

Регистрация: Sep 2009
Адрес: Челябинск
Сообщений: 43
http://www.flasher.ru/forum/attachme...1&d=1257163360
Вложения
Тип файла: rar garazh.rar (4.3 Кб, 71 просмотров)

Старый 02.11.2009, 16:05
Bitcoolman вне форума Посмотреть профиль Отправить личное сообщение для Bitcoolman Найти все сообщения от Bitcoolman
  № 4  
Ответить с цитированием
Bitcoolman

Регистрация: Sep 2009
Адрес: Челябинск
Сообщений: 43
onEnterFrame удаляет блюр...новое свойство не поможет...пробовал(((

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Можно попробовать что-то типа этого сделать.
Код AS1/AS2:
for(i=0; i<10; i++){
	for(j=0; j<10; j++){
		//trace(''+i+"   "+j);
		attachMovie('Мувиклип','Кубик'+i+j,getNextHighestDepth(),{_x:100+j*28.30,_y:100+i*42.40,useHandCursor:false});
		eval('Кубик'+i+j)["per"]=10;
		eval('Кубик'+i+j)["perx"]=eval('Кубик'+i+j)._y;
	}
}
 
setInterval(search,20);
 
function search(){
	for(var i in _root){
		if(eval(i)["per"]==10){
			if(eval(i)._ymouse>0 & eval(i)._xmouse>0 & eval(i)._ymouse<eval(i)._height & eval(i)._xmouse<eval(i)._width){
				eval(i)._y=eval(i)['perx']-eval(i)['per'];
			}
			else{
				eval(i)._y=eval(i)['perx'];
			}
 
		}
		updateAfterEvent();
	}
}
Всмысле всё время проверять висит ли курсор мыши над дверью и как только он появлется шатать дверь.

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

Регистрация: Sep 2009
Адрес: Челябинск
Сообщений: 43
ох ё...что то Я не понял что тут что(((

Добавлено через 9 минут
он не читабелен...

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Да я просто баловался с кубиками... функция сёрч работает всегда и когда над каким то кубиком мышку держу он шевелится.. Когда убираю он в исходное состояние возвращается. Не очень оптимально конечно, но на глаз работает. Когда клип в клипе тоже по идее работать будет только нужно функцию саму на себе замкнуть чтоб она все уровни мувиклипа проверила. Безусловно это не лучший способ, но всё же способ.

Добавлено через 12 минут
Рассматривал твой код... Заметил что если закоментить

Код AS1/AS2:
e1.filters = [new flash.filters.BlurFilter(10, 10, 1)];
import flash.filters.BlurFilter
var blur:Number = 10;
/*e1.onRollOut = function(){
    blur = 0
    this.onEnterFrame = function(){
       e1.filters = [new BlurFilter(blur,blur,1)];
        if((blur+=1)>=10) delete this.onEnterFrame;
    }
}
e1.onRollOver = function(){
    this.onEnterFrame = function(){
        e1.filters = [new BlurFilter(blur,blur,1)];
        if((blur-=1)<=0) {
            e1.filters = null;
          	delete this.onEnterFrame;
        }
    }
}*/
function zoomIn() {
	this.onEnterFrame = function() {
		if (this._yscale<100) {
			this._yscale += 5;
		}
	};
}
function zoomOut() {
	this.onEnterFrame = function() {
		if (this._yscale>10) {
			this._yscale -= 5;
		}
	};
}
e1.ee.onRollOver = zoomOut;
e1.ee.onRollOut = zoomIn;
То дверь поднимается, если сделать так:


Код AS1/AS2:
e1.filters = [new flash.filters.BlurFilter(10, 10, 1)];
import flash.filters.BlurFilter
var blur:Number = 10;
e1.onRollOut = function(){
/*    blur = 0
    this.onEnterFrame = function(){
       e1.filters = [new BlurFilter(blur,blur,1)];
        if((blur+=1)>=10) delete this.onEnterFrame;
    }
*/
}
e1.onRollOver = function(){
/*
    this.onEnterFrame = function(){
        e1.filters = [new BlurFilter(blur,blur,1)];
        if((blur-=1)<=0) {
            e1.filters = null;
          	delete this.onEnterFrame;
        }
    }
*/
}
function zoomIn() {
	this.onEnterFrame = function() {
		if (this._yscale<100) {
			this._yscale += 5;
		}
	};
}
function zoomOut() {
	this.onEnterFrame = function() {
		if (this._yscale>10) {
			this._yscale -= 5;
		}
	};
}
e1.ee.onRollOver = zoomOut;
e1.ee.onRollOut = zoomIn;

То когда наводим курсор на "гараж" и на дверь то всё остаётся размытым... Полагаю тут фишка в цепочки видимости у мувиклипов... То есть "нижний" мувиклип за место своего метода по onRollOut и onRollOver пользует метод родителя... Если метод родителя не описан то пользует свой..
Копаюсь дальше, надеюсь разгадаем этот ребус.
__________________
Играй. Это жизнь.
Всё повторяется. Играй.


Последний раз редактировалось AzagThoth; 02.11.2009 в 17:05.
Старый 02.11.2009, 17:02
Bitcoolman вне форума Посмотреть профиль Отправить личное сообщение для Bitcoolman Найти все сообщения от Bitcoolman
  № 8  
Ответить с цитированием
Bitcoolman

Регистрация: Sep 2009
Адрес: Челябинск
Сообщений: 43
Я по этому и думал как по другому обозначить в случае ворот EnterFrame)) Блин...уже голову сломал...второй день думаю как можно обойти это удаление(((

Добавлено через 42 минуты
задача решена)))

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Как решил?
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

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

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

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


 


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


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