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

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

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

Регистрация: Dec 2006
Сообщений: 13
По умолчанию Реящий флаг.

Привет!
Подскажите пожалуйста, как мне заставить этот флаг "гордо реять" ну или хотябы реалистично трепыхаться.

А то у меня получается, что он только едет и дергается...
Помогите пожалуйста
Вложения
Тип файла: rar header.rar (97.2 Кб, 140 просмотров)

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

Регистрация: Jun 2005
Адрес: Москва [Одинцово]
Сообщений: 2,159
Записей в блоге: 1
лучше сделай новый...этот безнадежен)))

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

Регистрация: Dec 2006
Сообщений: 13
По умолчанию Ой.

Ой, блин, ну как-же так? или Вы это про клипвобще? там есть такая картиночка с флагом, я вот подумала если её заставить двигаться не по прямой, а зигзагом, то возможно, что-то и получится... Вы как думаете?

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

Регистрация: Dec 2006
Сообщений: 13
По умолчанию Чуть подправила.

Вот! Я тут чуть подправила... может теперь этот флан будет не так сильно безнадежен... Ну пожалуйста мне очень хочется сделать именно этот флаг или что-то похожее.
Вложения
Тип файла: rar header.rar (97.6 Кб, 113 просмотров)

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

Регистрация: Sep 2002
Сообщений: 30,784
http://flasher.ru/forum/showthread.php?t=69576

Старый 25.12.2006, 09:19
Светка Иванова вне форума Посмотреть профиль Отправить личное сообщение для Светка Иванова Найти все сообщения от Светка Иванова
  № 6  
Ответить с цитированием
Светка Иванова

Регистрация: Dec 2006
Сообщений: 13
Attention Здорово! а можо объяснить теперь это для блондинки?

А может ктонить объяснить теперь это для блондинки?

И как это применимо к в моем флажке?
Пожаааалуйста, ну покажите мне как это делается... я обещала до среды сдать контрольную...

Код:
/***************************************
	автор: silin
****************************************/	

MovieClip.prototype.sinFly=function(){
	var b=this._parent
	this.vx += (this.ix - this._x)/24
	this.vy += (this.iy - this._y)/24
	this._x += this.vx*=0.85;
	this._y += this.vy*=0.85;
	this.iy= this._name==5? b[3].iy+b.h : this.y0+0.05*b.h*(Math.sin(b.age/5+Math.PI/2.3*this._name))
	this.ix=this.x0+0.025*b.w*(Math.sin(b.age/7+Math.PI/2*this._name))
}

///////////////////////////////////
MovieClip.prototype.addFlag=function(s,link){
	var width=this._width,ws=width/s,height=this._height;
	var prop={_x:this._x,_y:this._y,_rotation:this._rotation}
	var f=this._parent.createEmptyMovieClip(this._name,this.getDepth());//заменяем пустым 
	for(var i in prop) f[i]=prop[i];
	
	for (var i=0;i < s;i++)	{//добавили нарезку
		var p=f.attachMovie(link,i,i,{x:i*width/s});
		if(f._rotation&&!i){width=p._width;	height=p._height;ws=width/s;}//если повернут, то width&height другие
		var m = p.createEmptyMovieClip('m',1);
		m.beginFill(0);
		m.moveTo(ws*i,0);m.lineTo(ws*(i+1)+0.5,0);m.lineTo(ws*(i+1)+0.5,height);m.lineTo(ws*i,height);
		m.endFill();
		p.setMask(m);
	}
	/////////отблеск (он же потом как маска пойдет)///////////////////////////////////////////////
	var w=0.96*width;//отступы
	var h=0.96*height;
	var xy=[]//массив для исходных координат
	for(var i=0;i<4;i++)xy.push({x:i*w/3,y:0})//4 по верхней кромке
	xy[4]={x:w,y:h/2}//правая
	for(var i=0;i<4;i++)xy.push({x:w-i*w/3,y:h})//4 по низу
	xy[3].c=xy[5].c=1;	//метки углов	
	var b=f.createEmptyMovieClip(100,100);
	b._y=0.01*h;
	b.w=w
	b.h=h
	b.len=xy.length
	b.age=random(21);
	for (var i=0; i<b.len; i++) {//мувики для контроля точек
		var p=b.createEmptyMovieClip(i,i);
		p.x0=p.ix=p._x=xy[i].x 
		p.y0=p.iy=p._y=xy[i].y;
		p.vx=p.vy=0;
		p.c=xy[i].c
		if(i&&i<b.len-1) b[i].onEnterFrame=sinFly;
	}
	b.onEnterFrame=function(){
		this.age++
		this.clear();
		var colors=[],alphas=[],ratios=[0]
		for(var i=0;i<5;i++) {
			alphas[i]=20+7*Math.sin(this.age/7+i)
			colors[i]=i%2 ? 0xcccccc : 0x333333
			if(i)ratios[i]=this[i]._x/w*196
		}
		ratios[4]=255
  		var fi=Math.PI/2+Math.atan2(this[3]._y-this[5]._y,(this[3]._x-this[5]._x)/2)
  		var matrix = {matrixType:"box", x:0, y:0, w:width, h:h, r:fi};
  		this.beginGradientFill("linear", colors, alphas, ratios, matrix);
		this.moveTo( this[0]._x, this[0]._y);
		for (var i=0;i<this.len-1;i++){
			this.curveTo(this[i]._x, this[i]._y, (this[i]._x + this[i+1]._x)/2, (this[i]._y + this[i+1]._y)/2)
			if(this[i+1].c) this.lineTo(this[i+1]._x,this[i+1]._y)
		}
		this.lineTo(this[this.len-1]._x,this[this.len-1]._y) 
		this.endFill()
	}
	////////////////двигаем нарезку////////////////////////////
	f.onEnterFrame=function(){
		var w=width/s,n=[0],dy=[0],r=[0]
		for(var i=1;i<3;i++)r[i]=b[i]._x;
		r[3]=width;
		for(var i=1;i<4;i++){
			n[i]=Math.floor(r[i]/w);
			dy[i]=(b[i]._y-b[i-1]._y)/(n[i]-n[i-1])
			for(var j=n[i-1];j<n[i];j++){
				this[j]._y=b[i-1]._y+(j-n[i-1])*dy[i]
			}
		}
		for(var i=1;i<3;i++)r[i]=b[8-i]._x;
		for(var i=1;i<4;i++){
			n[i]=Math.floor(r[i]/w);
			dy[i]=(b[8-i]._y-b[9-i]._y)/(n[i]-n[i-1])
			for(var j=n[i-1];j<n[i];j++){
				var by=b[9-i]._y+(j-n[i-1])*dy[i]
				this[j]._yscale=(by-this[j]._y)/h*100
			}
		}
		this.setMask(b.duplicateMovieClip('m',101))//кладем под маску для красивости
	}
}


/////////////////////////////////////////////////////////////////////

pic.addFlag(24,'flag');//flag - linkage id в библиотеке
for(var i=1;i<9;i++) {
	this[i].gotoAndStop(i)
	this[i].onRelease=function(){ //меняем содержимое
		for(var j=0;j<24;j++)pic[j].gotoAndStop(this._name)
	}
}
[iNils: Для оформления своего кода, надо использовать теги [code][/code]]


Последний раз редактировалось iNils; 25.12.2006 в 09:38.
Старый 25.12.2006, 10:11
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 7  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
а вот еще и с тенью
Вложения
Тип файла: zip flag.zip (7.0 Кб, 174 просмотров)
__________________
"We Are The Champions My Friends!" Queen

Старый 25.12.2006, 10:40
Светка Иванова вне форума Посмотреть профиль Отправить личное сообщение для Светка Иванова Найти все сообщения от Светка Иванова
  № 8  
Ответить с цитированием
Светка Иванова

Регистрация: Dec 2006
Сообщений: 13
По умолчанию хм...

С этого я и начинала... пустить картинку по маске, но что-то у меня не срастается ничего.

Товарищи мужчины ну объясите пожалуйста как использовать этот код, применительно к моей картинке. Очень Вас прошу!

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

Регистрация: Sep 2002
Сообщений: 30,784
Лучше переделать то, что есть. Там в либе лежит мувик, в нём в каждом кадре отдельный флаг. Там надо просто нарисовать свой и всё.

А вообще, кажется iNils показывал пример флага, который работает с DisplacementMapFilter, там всё проще. Тему я искал, но что-то не нашёл…

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

Регистрация: Dec 2006
Сообщений: 13
По умолчанию Попробую

Сейчас попробую.

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

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

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


 


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


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