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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.03.2014, 23:01
Andriano606 вне форума Посмотреть профиль Отправить личное сообщение для Andriano606 Найти все сообщения от Andriano606
  № 1  
Ответить с цитированием
Andriano606
[+1.3 04.03.14]

Регистрация: Mar 2014
Сообщений: 4
Question Как программным путем сделать тень для мяча ?

Обучаюсь по книге Гурского, застрял на уроке 4 нужно сделать тень для мяча движущего по параболе .
Дана формула движения мяча с угасанием после каждого отскока, а как сделать тень для мяча не ясно.
Помогите пожалуйста .

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Что-то меня смущает русская фамилия автора книги.

Учите ас3 лучше, серьезно. Ас2 устарел сильно.

Какая тень вас интересует? Можно сделать фильтром, к примеру. Можно сделать размытой копией мяча, движущейся по горизонтали на уровне пола и меняющей размеры в зависимости от высоты положения мяча.

Покажите код мяча, для начала. И опишите подробнее задачу.

Добавлено через 3 минуты
P.S. Можете еще по такому примеру поучиться http://www.flasher.ru/forum/showpost...5&postcount=11
__________________
hauts.ru

Старый 04.03.2014, 09:58
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 3  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Гурский VS Мук - тема для холивара....
Я учился по Гурскому. Подача материала от Мука - более чем неудобно. Мне.

Тень от мяча.... точно также, только клип не двигайте по Y и задайте ему блюр фильтр...
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 04.03.2014, 10:52
Andriano606 вне форума Посмотреть профиль Отправить личное сообщение для Andriano606 Найти все сообщения от Andriano606
  № 4  
Ответить с цитированием
Andriano606
[+1.3 04.03.14]

Регистрация: Mar 2014
Сообщений: 4
Мне нужна тень движущейся по горизонтали на уровне пола и меняющей размеры в зависимости от высоты положения мяча, но как менять размеры я знаю, мне нужна сама траектория мяча.
Вот программа самого мяча

var X=-50;
var Y=170;

var X0=X;
var Y0=Y;
var t=0;
var a=2;
var Vy=0;
var Vx=6;
var newV=null;
var newX=null;
var newY=null;

_root.onEnterFrame = function(){
if (ball._y>350){
Vy=-newV*0.85;
Vx=0.85*Vx;
t=0.6;
X0=newX;
Y0=newY;}

ball._x=X0+Vx*t;
ball._y=Y0+Vy*t+a*t*t/2;
newV=Vy+a*t;
newY=ball._y;
newX=ball._x;

countor._x=ball._x;
countor._y=ball._y;

if (newY==Y0){countor._rotation+=0;} else
{countor._rotation+=4;}
t+=0.6;}

Старый 04.03.2014, 12:02
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Andriano606, код следует оформлять соответствующими тегами (кнопка AS в панели редактора сообщений)
__________________
Поймай яблоко 2!

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Тогда координата тени по икс, всегда будет равна координате мяча по икс, ведь тень всегда находится строго вертикально под мячом (в вашем примере).

Код AS1/AS2:
shadow._x = ball._x;

Старый 04.03.2014, 18:07
Andriano606 вне форума Посмотреть профиль Отправить личное сообщение для Andriano606 Найти все сообщения от Andriano606
  № 7  
Ответить с цитированием
Andriano606
[+1.3 04.03.14]

Регистрация: Mar 2014
Сообщений: 4
тень должна быть как бы объемная, вот пример на мяче который прыгает на месте
Untitled-2.swf   (1.9 Кб)
Вложения
Тип файла: swf Untitled-2.swf (1.9 Кб, 91 просмотров)

Старый 04.03.2014, 22:30
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 8  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Тогда удаляйте тень на расстояние от мяча до пола, под заданным заранее углом.
ball.swf   (3.5 Кб)

Код AS1/AS2:
var grav:Number=2;
var speedY:Number=0;
var bounce:Number=-30;
 
//граница пола по игрек
var floorY:Number=280;
//угол под которым уходит тень (0 градусов - это вправо, 180 или -180 - это влево)
//угол -20
var ang:Number = -20 * Math.PI/180;
 
 
shadow_mc._y = floorY;
 
_root.onEnterFrame=function()
{
	speedY+=grav;
	ball_mc._y+=speedY;
 
	if(ball_mc._y >= floorY)
	{
		ball_mc._y = floorY;
		speedY = bounce;
	}
 
	//--------- move shadow
	//узнаём насколько мяч выше от пола
	var dist:Number = ball_mc._y - floorY;
	//перемещаем тень на это расстояние, под заданным выше углом
	shadow_mc._x = ball_mc._x - Math.cos(ang)*dist;
	shadow_mc._y = floorY - Math.sin(ang)*dist;
 
	shadow_mc._alpha=100-Math.abs(dist/3);
}
Вложения
Тип файла: swf ball.swf (3.5 Кб, 89 просмотров)

Старый 06.03.2014, 01:29
Andriano606 вне форума Посмотреть профиль Отправить личное сообщение для Andriano606 Найти все сообщения от Andriano606
  № 9  
Ответить с цитированием
Andriano606
[+1.3 04.03.14]

Регистрация: Mar 2014
Сообщений: 4
Всем спасибо !
Я наконец разобрался (методом ошибок и проб). Вот код если кому нибудь понадобиться
Код AS1/AS2:
var X = -50;
var Y = 170;
var X0 = X;
var Y0 = Y;
var t = 0;
var a = 2;
var Vy = 0;
var Vx = 6;
var newV = null;
var newX = null;
var newY = null;
var T = null;
_root.onEnterFrame = function() {
	if (ball._y>350) {
		Vy = -newV*0.85;
		Vx = 0.85*Vx;
		t = 0.6;
		X0 = newX;
		Y0 = newY;
	}
	ball._x = X0+Vx*t;
	ball._y = Y0+Vy*t+a*t*t/2;
	newV = Vy+a*t;
	newY = ball._y;
	newX = ball._x;
	countor._x = ball._x;
	countor._y = ball._y;
 
	shade._x = -(ball._y+30)+389+ball._x;
	shade._y =(ball._y+10)+8;
	shade._xscale =(450-T);
	shade._yscale =(450-T);
	T =(ball._y);
 
 
	if (newY == Y0) {
		countor._rotation += 0;
	} else {
		countor._rotation += 4;
	}
	t += 0.6;
};
Получилось коряво, но получилось), вот результат
Untitled-4.swf   (1.8 Кб)
Вложения
Тип файла: swf Untitled-4.swf (1.8 Кб, 100 просмотров)

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

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

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


 


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


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