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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.09.2013, 22:28
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 1  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
По умолчанию Заставить предмет постоянно двигаться

Может кто знает как заставить предмет постоянно двигаться например чтобы мяч в игре постоянно прыгал?

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

Регистрация: Feb 2012
Сообщений: 1,540
Может кто знает как заставить предмет постоянно создавать сингулярности во вселенной, излучая при этом нереальные радиоактивные волны, например чтобы белая дыра в нашей галактике постоянно извергала материю?
Извините, что?

Старый 24.09.2013, 23:02
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 3  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
заставить предмет анимационно допустим постоянно двигаться..... к примеру мяч чтобы постоянно прыгал от точки до точки вперед и назад

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
добавить слушатель ENTER_FRAME, а в обработчике изменять положения мяча на нужное

Старый 24.09.2013, 23:26
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 5  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
Спасибо..но как сделать так чтобы он прыгал вперед до конца экрана и назад

Старый 25.09.2013, 02:01
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 6  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Думал, что это очень просто и все скажут - пусть сам делает.. И тут я решил, что - ну надо же помочь, а то может человек только начал.. И не так то это и просто! я бы использовал готовые анимации.. И то, что это поможет ТС я не уверен, но это лучше чем не чего
Код AS3:
package 
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Movement extends Sprite 
	{
		//мячи
		private var boll:Sprite;
		private var boll2:Sprite;
		//массив в который всё складываем
		private var object:Array;
		//счетчик кол-во элементов в массиве
		private var counter:int = 0;
 
		public function Movement() 
		{
			if (stage)
			{
				init();
			}
			else 
			{
				addEventListener(Event.ADDED_TO_STAGE, init);
			}
 
		}
 
		private function init(event:Event=null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			//создали массив
			object = [];
			//создаем мячи
			boll = new Sprite();
			boll.graphics.beginFill(0x5098DA);
			boll.graphics.drawCircle(0, 0, 30);
			boll.graphics.endFill();
 
			boll2 = new Sprite();
			boll2.graphics.beginFill(0x4FDB9C);
			boll2.graphics.drawCircle(0, 0, 40);
			boll2.graphics.endFill();
			//передаем их в метод ..все что попадет в этот метод будет двигаться как мяч
			//только как мяч...чтобы прыгали по горизонтали Вам надо это самим сделать
			addObject(300,-20, 200,boll2 , 400);//начало,скорость,растояние,то что движится, начальная координата...
			addObject(300,-30, 100, boll, 300);
 
			addEventListener(Event.ENTER_FRAME, enterFrameHandler);
 
		}
 
		private function movement():void
		{
			//проверяем наличие элементов в массиве, если их нет то код не сработает
			if (!counter) return;
			//если мы тут то элементы есть
			//прибавляем ай на четыре
			for (var i:int = 0; i < counter; i+=4) 
			{
				//прибавляем к текущему элементу его скорость
				object[3 + i].y += object[2 + i];
				//если мяч достиг максимальной или минимальной дистанции
				//меняем ему в массиве скорость на отрицательную и он
				//двигается в другую сторону
				if (object[3 + i].y < object[1 + i])
				{
					var course:Number = object[2 + i];
					object.splice(2 + i, 1, course * -1);
				}
				if (object[3 + i].y > object[0 + i])
				{
					var course0:Number = object[2 + i];
					object.splice(2 + i, 1, course0 * -1);
				}
 
			}
		}
		private function addObject($startY:int,$speedY:int,$distance:int,$obj:DisplayObject,$startX:int=NaN):void
		{
			//прибавляем счетчик элементов сразу на четыре
			counter += 4;
			//тут вот высчитывается направление... по другому я не смог
			var course:Number = $distance-($distance + 1);
			//тут высчитываем максимум 
			var end:Number = $startY + ($distance * course); 
			//тут скорость
			var speed:Number = Math.round($distance / $speedY);
			//помещаем всё в массив
			object.push($startY,end,speed,$obj);
			if ($startX) object[counter - 1].x = $startX;
			if ($startY) object[counter - 1].y = $startY;
			//тут добавляем наши мячи в список отображения
			addChild(object[counter-1]);
		}
		private function enterFrameHandler(event:Event):void 
		{
			movement();
		}
 
	}
 
}


Последний раз редактировалось Akopalipsis; 25.09.2013 в 02:51.
Старый 25.09.2013, 02:26
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 7  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
Спасибо большое буду разбираться....Да только начал недавно)

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

Регистрация: Dec 2006
Сообщений: 1,764
Flash_AS3 ник то у тебя многообещающий, а взять и открыть книжку и почитать азы вам лень
__________________
а за окном атлантический океан!

Старый 26.09.2013, 14:49
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 9  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Akopalipsis, а зачем вы использовали $ перед переменными, это какой-то трюк, или просто для удобства?

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

Регистрация: Sep 2006
Сообщений: 145
Цитата:
Сообщение от Fogflasher Посмотреть сообщение
Akopalipsis, а зачем вы использовали $ перед переменными, это какой-то трюк, или просто для удобства?
$ перед переменными можно ставить для обозначения аргумента функции, а можно и не ставить
привычка я тоже так делаю, хотя считается плохим стилем

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

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

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


 


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


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