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

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

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

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
По умолчанию setMask. Помогите найти ошибку...

Привет! Подскажите плз... в исходнике вариант маски из муви-клипа, скрипт вроде правильный но наверное что-то упустила. Почему не маскирует?
flash 7-ка
Вложения
Тип файла: rar mask.rar (4.3 Кб, 41 просмотров)

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
наоборот,
Код:
mm.setMask(maska);
и поосторожнее с eval(), будь проще:
Код:
clips[i] = objct;
и чего ты хочешь добиться?
А, понятно.
Замени код на этот:
Код:
mm = this.createEmptyMovieClip("mymask", 10);
//maska.setMask(mm);
mm.setMask(maska);
var i:Number = 0;
max = 20;
clips = new Array();
function myScript():Void {
	for (var i = 0; i<max; i++) {
		clips.push(mm.attachMovie("c", "circ"+i, i));
	}
	_root.onEnterFrame = function() {
		clips[0]._x = _xmouse;
		clips[0]._y = _ymouse;
		for (var i = 1; i< clips.length; i++) {
			clips[i].xdistance = (clips[i-1]._x-clips[i]._x)/2;
			clips[i].ydistance = (clips[i-1]._y-clips[i]._y)/2;
			clips[i]._x += clips[i].xdistance;
			clips[i]._y += clips[i].ydistance;
		}
	};
}
myScript();

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
или вообще на этот:
Код:
var mm:MovieClip = this.createEmptyMovieClip("mymask", 10);
//maska.setMask(mm);
mm.setMask(maska);
var i:Number = 0;
max = 20;
clips = new Array();

for (var i = 0; i<max; i++) {
		clips.push(mm.attachMovie("c", "circ"+i, i));
}

onEnterFrame = function() {
	clips[0]._x = _xmouse;
	clips[0]._y = _ymouse;
	for (var i = 1; i< clips.length; i++) {
		clips[i].xdistance = (clips[i-1]._x-clips[i]._x)/2;
		clips[i].ydistance = (clips[i-1]._y-clips[i]._y)/2;
		clips[i]._x += clips[i].xdistance;
		clips[i]._y += clips[i].ydistance;
	}
};
Но если у тебя 7-ка там вроде бы строгий синтаксис не при делах?
Если не прокатит, все проверки
Цитата:
:MovieClip
долой

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

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
Kikasso, спасибо за советы)
Но вот с кодом, получатся что обьект теперь сам видно, но он все равно не маскирует зеленый мувик "maska"... то есть должно быть, чтобы эти кружочки стали зелеными... (это просто пример а на самом деле потом это будет фото-картинка)

Старый 20.01.2007, 15:19
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 5  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
СТОП!))) поняла - нужно именно так:
Код:
maska.setMask(mm);
тогда всё как надо.... урра)))
а с моим прежним кодом так не работало почему-то. Щас буду разбираться.
Спасибо!!!

Старый 20.01.2007, 15:43
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 6  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
в циклах for можно убрать var перед i, поскольку мы i ранее объявили.
почему не работало, не понимаю. у тебя onEnterFrame сажался на последний кружочек, может в этом дело.

дело в eval. Вот так уже работает:
Код:
var objct:MovieClip = mm.attachMovie("c", "circ"+i, i);
clips[i] = objct;


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

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

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


 


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


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