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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.06.2015, 14:07
СергейВишня вне форума Посмотреть профиль Отправить личное сообщение для СергейВишня Найти все сообщения от СергейВишня
  № 21  
Ответить с цитированием
СергейВишня

Регистрация: Apr 2014
Сообщений: 30
Ну, попробуй через stage3d треугольниками отрисовать. Если лень, беги либу starling.
Еще вариант, создай объект хранящий битмапдату(вроде он Bitmap называется) и его скалируй(bitmap.scaleX).

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Цитата:
Сообщение от ther Посмотреть сообщение
как бы я не пробовал его подгружать (в виде битмама, рисовании на спрайте или шейпе), все равно при изменении в enterframe размеров(width, height) или масштаба (scale), происходит дикое искажение. при это еще и грузит проц, та как таких фигур штук 50

подскажите как правильно масштабировать?
Использовать какой-нибудь твинер, а не enterFrame.
Кешировать ( если твинер не поддерживает)
а может быть и это или же это.
Решение зависит от цели.
__________________
return this...

Старый 19.06.2015, 12:48
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 23  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
По мне вопрос интересный, больше похоже на проблемы самого флеша, вот что получил я, пытаясь сделать подобную штуку
(накидал быстро, по этому на названия переменных забил, но должно нормально читаться)

Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	[SWF(width="800",height="600",framerate="30",backgroundColor=0x1B1B1B)]
 
	public class Main extends Sprite
	{
 
		public function Main()
		{
			if (stage)
				init();
			else
				addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
 
		private function init(e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			createArrayLogo();
		}
 
		private var a:uint = 20; //длинна массива
		private var logo:LogoClass;
		private var logoArray:Array = new Array();
 
		private function createArrayLogo ():void
		{
			var i:int = 0;
			while (i < a)
			{
				logo = new LogoClass();
				logoArray.push(logo);
				addChild(logo);
				if (i == 0)
				{
					logo.x = 50;
					logo.y = 50;
				}
				else 
				{
					logo.x = i * 50;
					logo.y = i * 50;
				}
				trace(i);
				++i;
			}
		}
	}
}
Код AS3:
package 
{
	import flash.events.Event;
 
	public class LogoClass extends Logo_mc
	{
 
		public function LogoClass() 
		{
			height = 100;
			width = 50;
			addEventListener(Event.ENTER_FRAME, scale);
		}
 
		private function scale(e:Event):void 
		{
			//height += 5;
			//width += 10;
			scaleX += 0.02;
			scaleY += 0.02;
			if (scaleX > 0.8)
			{
				scaleX = 0.1
				scaleY = 0.1
			}
		}
 
	}
 
}
Вложения
Тип файла: swf test.swf (2.0 Кб, 32 просмотров)

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

Регистрация: Apr 2008
Сообщений: 211
это как то все нездорово, переделал вообще по другому, то есть просто каждый раз рисую фигуру методом флеша, без png, просто отрисовка по координатам, все равно "мигания"

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

Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
Не думаю, что тут можно обойтись без stage3D (например используя старлинг) для идеального результата.
Максимум, то получилось у меня вот это:

толщину линии менее одного(ДВУХ в примере) пикселя симулировать альфой
а "плавность движения" stage.quality = StageQuality.HIGH_16X16_LINEAR;
Вложения
Тип файла: swf Flasher.swf (1.7 Кб, 37 просмотров)

Старый 19.06.2015, 16:42
ther вне форума Посмотреть профиль Отправить личное сообщение для ther Найти все сообщения от ther
  № 26  
Ответить с цитированием
ther

Регистрация: Apr 2008
Сообщений: 211
nuToH
спасибо
Код AS3:
stage.quality = StageQuality.HIGH_16X16_LINEAR;
помогло

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

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

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


 


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


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