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

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

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

Регистрация: Jun 2007
Сообщений: 2
Attention Помогите с action script !

Люди добрые помогите кто может.... я по образованию художник... а нас пытаются в универе учить программировать. В обшем очень надо помогите...
Задача такова два шара находятся на противоположных сторонах поля (правый нижний и левый верхний углы) далее они должны двигаться на встречу друг другу в центр поля меняя прозрачность от 10% до 100... соприкоснувшись они должны уехать назад в свой угол снова понижая прозрачность до 10%. вся анимация есессно должна быть кодом
Не смейтесь пожалуйста! очень надо ! помогите плиз буду по гроб жизни благодарен. и если не влом откоментируйте код !
ОЧЕНЬ ПРОШУ ПОМОГИТЕ !


Последний раз редактировалось MAMMOTH; 03.06.2007 в 11:37.
Старый 02.06.2007, 23:32
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 2  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
в setInterval() или onEnterFrame() меняешь свойства _x, _y, _alpha до определённого предела.
з.ы.
Цитата:
не обсирайте меня пожалуйста
здесь так не выражаются

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

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Код:
var r:Number = 30;
var angle:Number = 45;//угол под которым и происходит движение
var Go:Number = 3;
var rad:Number = Math.PI/180;
var control:Number = 1;
this.createEmptyMovieClip("circle", 1);
with (circle) {
	createEmptyMovieClip("circle_mc", 1);
	circle_mc.lineStyle(0, 0x000000);
	circle_mc.beginFill(0x6600FF);
	drawCircle(circle_mc, r, r, r);
}
function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
	mc.moveTo(x+r, y);
	mc.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
	mc.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
	mc.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
	mc.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
	mc.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
	mc.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
	mc.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
	mc.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
}
//
circle.circle_mc.onEnterFrame = function() {
	if (control == 1) {
		this._x += Math.cos(angle*rad)*Go;
		this._y += Math.sin(angle*rad)*Go;
		//
		if (this._x>=(Stage.width/2)-((r*2)-8)) {
			control = -control;
		}
	}
	//       
	if (control == -1) {
		this._x -= Math.cos(angle*rad)*Go;
		this._y -= Math.sin(angle*rad)*Go;
		//
		if (this._x<=0) {
			control = -control;
		}
	}
};
//////
//////
//////
//////
//////
//////
this.createEmptyMovieClip("circle1", 2);
with (circle1) {
	createEmptyMovieClip("circle_mc", 1);
	circle_mc.lineStyle(0, 0x000000);
	circle_mc.beginFill(0x6600FF);
	drawCircle(circle_mc, r, r, r);
}
function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
	mc.moveTo(x+r, y);
	mc.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
	mc.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
	mc.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
	mc.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
	mc.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
	mc.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
	mc.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
	mc.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
}
//
circle1.circle_mc.onEnterFrame = function() {
	if (control == 1) {
		this._x += Math.cos(angle*rad)*Go;
		this._y += Math.sin(angle*rad)*Go;
		//
		if (this._x>=(Stage.width/2)-((r*2)-8)) {
			control = -control;
		}
	}
	//       
	if (control == -1) {
		this._x -= Math.cos(angle*rad)*Go;
		this._y -= Math.sin(angle*rad)*Go;
		//
		if (this._x<=0) {
			control = -control;
		}
	}
};
circle1._x = Stage.width;
circle1._y = Stage.height;
circle1._rotation = 180;
для кубического поля =) ну хотябы 550*550

тихий ужас

если пузыри не в кубическом поле то нужно подобрать угол движение "angle" под прямоугольник, если силен в матиматике то можно сделать програмно, насчет альфы сделать можно но тут все хитрей ведь неизвесны границы поля а если делать под универсальность нужно в проценты переводить что бы равномерно было
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

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

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
да и круг толком , нормальный , я програмно рисовать неумею =)
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 03.06.2007, 11:36
MAMMOTH вне форума Посмотреть профиль Отправить личное сообщение для MAMMOTH Найти все сообщения от MAMMOTH
  № 5  
Ответить с цитированием
MAMMOTH

Регистрация: Jun 2007
Сообщений: 2
.Огромное спасибо.... Вот только программа сложновата. я сам тут за ночь кое что своял.... правда работает не до конца ... назрел другой вопрос если делать это не такими сложными математическими функциями к примеру чтобы шарик двигался от точки х1 до точки х2 с шагом n нну dx=(x2-x1)/n; типа того...
Код:
var xb1=0; 
var yb1=0;
var xb2=180; 
var yb2=180;
var n = 50; 
var dxb=(xb2-xb1)/n;
var dyb=(yb2-yb1)/n;
var x=xb1;
var y=yb1;
_root.ball._x =xb1;
_root.ball._y =yb1;
// MovieClip ball;
_root.onEnterFrame = function ()
{
   x+=dxb;
   y+=dyb;
_root.ball._x =x;
_root.ball._y =y;
}
все очень примитивно но оно и должно быть примитивнее..... движение идет вот только ни как не могу остановить шарик по условию.. к примеру поле 400 на 400 шарик радиусом 20 чтобы доходя до точки 180 180 начинал движение назад ну второй соответсвенно на 220 220 .. тогда можно будет точно привязать альфу по тому же принципу... почемуто ни как не могу поставить условие по IF пробовал вариант через switch (step) но чтото я там запутался.
помогите плиз все должно быть как то проще... вот только не получается...

ЗЫ на унивверсальность можно забить.... мне бы так разобраться. Задачка то простая... вроде ... должна быть... у меня теперь вся проблема шарик от определенной точки назад заставить ехать.


Последний раз редактировалось iNils; 03.06.2007 в 16:03.
Старый 03.06.2007, 16:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
MAMMOTH, для оформления своего кода, надо использовать теги [code][/code].
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Oct 2005
Сообщений: 97
Предлагаю заюзать программную анимация с помощью класса Tween, поймать момент столкновения и пустить твином с параметром Back, как идея? =)

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

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

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


 


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


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