Показать сообщение отдельно
Старый 23.08.2010, 20:35
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 18  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Супер, спасибо всем за помощь, все получилось! Теперь буду знать как возводить в квадрат в нашем любимом as. А вот оператор ^ есть, он выполняет операцию побитового исключающего или, но мне до этого далеко еще.

Добавлено через 21 час 24 минуты
Рано обрадовался, сделал простой пример, пытаюсь добиться положительного результата, но все кувырком, в прямом смысле слова.

Добавлено через 21 час 24 минуты
вот мой код
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class RandomAnimat extends Sprite
	{
 
		private var obj;
		private var oval;
		private var speed:Number;
		private var clipRotation:Number;
		private var angle:Number;
		private var xMove:Number;
		private var yMove:Number;
		private var r:Number
 
		public function RandomAnimat():void
		{
			trace ("RandomAnimat loaded")
 
			oval = new Oval();
			stage.addChild(oval);
			oval.x = stage.stageWidth/2;
			oval.y = stage.stageHeight/2;
 
			obj = new Obj1();
			stage.addChild(obj);
			obj.x = stage.stageWidth/2;
			obj.y = stage.stageHeight/2;
 
			obj.addEventListener(Event.ENTER_FRAME, moveMyObj);
 
			randomValue();
		}
 
		private function randomValue()
		{ 
			clipRotation = Math.random() * 360;
			angle = clipRotation * Math.PI / 180;
			speed = Math.random() * 5;
			xMove = speed * Math.cos(angle);
			yMove = speed * Math.sin(angle);
 
			obj.rotation = clipRotation;
		}
 
		private function moveMyObj(evt:Event):void
		{
			r = 200 - evt.target.width/2;
			trace (r)
 
			if(evt.target.x * evt.target.x + evt.target.y * evt.target.y > r * r)// что-то не то с этм условием, треугольник просто "колбасит"
			{
				randomValue();
				//evt.target.x += xMove;//здесь рыба должна, по идее, отодвинуться от края аквариума на половину своей длинны
				//evt.target.y += yMove;//что бы не кружиться около бортика..
				//evt.target.rotation = clipRotation;
			}
 
			evt.target.x += xMove;
			evt.target.y += yMove; 
		}
	}
}
Добавлено через 21 час 26 минут
Если нужно, могу положить в айфолдр исходник, но там как бы все просто. В .fla файле, в библиотеке, треугольник – это наш obj и овыл – это наш oval, внутри которо происходит сэйшн.

Добавлено через 38 часов 54 минуты
вот здесь лежат файлы, посмотрите, пожалуйста


Последний раз редактировалось Dr_Bra; 24.08.2010 в 18:06.