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

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

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

Регистрация: Aug 2012
Сообщений: 19
По умолчанию Физика шара

Привет!

Помогите создать имитацию того, что шар действительно "катится" по земле, а не просто движется.
Большая часть кода уже написана, осталось доделать только это.

Нужно что-то химичить с _rotation, но как правильно не могу въехать.

Код AS1/AS2:
xVel = 5;
yVel = 5;
gravity = 1.2;
fr = 0.7;
radiusH = ball._height/2;
radiusW = ball._width/2;
angle = 10;
 
shakeI = 50;
oldShakeI = shakeI;
shaking = false;
 
ball.onEnterFrame = function()
{
yVel += gravity;
this._x += xVel;
this._y += yVel;
if (this._y>=Stage.height-radiusH)
{
 this._y = Stage.height-radiusH;
 yVel *= -1;
 if (yVel<=-10)
 {
 	shaking = true;
 	createParticles(int(Math.random()*50)+1,this);
 	createSmoke(30,70,this);
 }
 else if (yVel<=-20)
 {
 	createParticles(int(Math.random()*5)+1,this);
 	createSmoke(5,70,this);
 
 }
}
if (this._y<=0+radiusH)
{
 this._y = 0+radiusH;
 yVel *= -1;
}
if (this._x>=Stage.width-radiusW)
{
 this._x = Stage.width-radiusW;
 xVel *= -1;
}
if (this._x<=0+radiusW)
{
 this._x = 0+radiusW;
 xVel *= -1;
}
};
}
Заранее спасибо за помощь!
Вложения
Тип файла: rar physics ball2.rar (172.0 Кб, 69 просмотров)

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Примерно так:

Код AS1/AS2:
var speed:Number	= 0.2;
 
onEnterFrame = function() {
	moveBall(ball1);
	moveBall(ball2);
	moveBall(ball3);
}
 
function moveBall(clip){
	clip._x 			+= speed;
	var p:Number		= (1 / (clip._width * Math.PI)) * speed;
	clip._rotation 		+= 360 * p;
}
circle-move.swf   (4.0 Кб)
Вложения
Тип файла: swf circle-move.swf (4.0 Кб, 189 просмотров)
Тип файла: rar движение окружности.rar (12.2 Кб, 69 просмотров)
__________________
Дети не должны знать о своих родителях

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Можно _rotation привязать к _x * некий коэффициент. В простых случаях хорошо подходит.
__________________
hauts.ru

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

Регистрация: Aug 2012
Сообщений: 19
Цитата:
Сообщение от Tails Посмотреть сообщение
Примерно так:

Код AS1/AS2:
var speed:Number	= 0.2;
 
onEnterFrame = function() {
	moveBall(ball1);
	moveBall(ball2);
	moveBall(ball3);
}
 
function moveBall(clip){
	clip._x 			+= speed;
	var p:Number		= (1 / (clip._width * Math.PI)) * speed;
	clip._rotation 		+= 360 * p;
}
circle-move.swf   (4.0 Кб)
Спасибо большое) А что за формула такая?
Код AS1/AS2:
(1 / (clip._width * Math.PI)) * speed;
?

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
DoctorQueb,
Нахождение процента изменения ротации от длины прокатившейся дистанций.

__________________
Дети не должны знать о своих родителях

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

Регистрация: Aug 2012
Сообщений: 19
Отлично! Теперь то, что надо!
Вложения
Тип файла: swf physics ball.swf (25.3 Кб, 104 просмотров)

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

Теги
вращение , помощь , физика , Шар , эффект

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

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


 


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


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