Развитие игровой вспышки
Текущее время: Пн дек 17, 2018 3:22 am

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Starling, плавный градиент
СообщениеДобавлено: Вт окт 13, 2015 5:12 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 09, 2009 11:53 pm
Сообщений: 3199
Откуда: Брянск
Сайт: http://hypnocatstudio.com
Сделал динамические 2D тени. Что-то типа такого:

Вложение:
bug.png
bug.png [ 65.36 KIB | Просмотров: 1666 ]


Но есть неприятный баг, тень не плавная, а какими-то полосками, на скриншоте видно. Тень - это просто квад, у которого в вершинах стоит нужная альфа. Без альфы градиент плавный, но зачем оно надо без альфы? :).


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Starling, плавный градиент
СообщениеДобавлено: Вт окт 13, 2015 8:24 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср авг 12, 2009 6:51 pm
Сообщений: 544
Откуда: Москва
Сайт: http://romamik.com
У меня не воспроизводится...
Я сделал вот так:
Вложение:
quad-alpha-gradient.png
quad-alpha-gradient.png [ 64.13 KIB | Просмотров: 1641 ]

Код:
package
{
   import flash.utils.getTimer;
   import starling.display.*;
   import starling.events.EnterFrameEvent;
   
   public class MainStarling extends Sprite
   {
      var q:Quad = new MyQuad;
      
      public function MainStarling()
      {
         
         q.x = 400;
         q.y = 300;
         q.scaleX = q.scaleY = 3;
         addChild(q);
         
         addEventListener(EnterFrameEvent.ENTER_FRAME, onEnterFrame);
      }
      
      private function onEnterFrame(e:EnterFrameEvent):void
      {
         q.rotation = getTimer() * Math.PI / 5 / 1000;
         q.scaleX = q.scaleY = (3 + Math.sin(getTimer() * Math.PI / 3 / 1000)) * 1.5;
      }
      
      
   }
}

import starling.display.*;
class MyQuad extends Quad
{
   public function MyQuad()
   {
      super(100, 100, 0, false); // здесь пробовал и true и false
      mVertexData.setPosition(0, -10, -10);
      mVertexData.setPosition(1, 10, -10);
      mVertexData.setPosition(2, -30, 130);
      mVertexData.setPosition(3, 30, 130);
      onVertexDataChanged();
      
      color = 0x808080;
      setVertexAlpha(0, 0.5);
      setVertexAlpha(1, 0.8);
      setVertexAlpha(2, 0.3);
      setVertexAlpha(3, 0.1);

      setVertexColor(0, 0x808000);
      setVertexColor(1, 0x008080);
      setVertexColor(2, 0xFF00FF);
      setVertexColor(3, 0x8080FF);
   }
}


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Starling, плавный градиент
СообщениеДобавлено: Вт окт 13, 2015 9:50 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 09, 2009 11:53 pm
Сообщений: 3199
Откуда: Брянск
Сайт: http://hypnocatstudio.com
На большой альфе не видно, попробуй:
Цитата:
setVertexAlpha(0, 0.1);
setVertexAlpha(1, 0.1);
setVertexAlpha(2, 0.0);
setVertexAlpha(3, 0.0);


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Starling, плавный градиент
СообщениеДобавлено: Вт окт 13, 2015 10:58 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 29, 2010 11:52 pm
Сообщений: 2705
Откуда: Одесса
Но ведь диапазон [0.0-0.1] — это всего лишь 25 ступенек прозрачности. Вот ты их и видишь. С этим кроме dithering'а ничего не поделать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Starling, плавный градиент
СообщениеДобавлено: Ср окт 14, 2015 12:17 am 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 09, 2009 11:53 pm
Сообщений: 3199
Откуда: Брянск
Сайт: http://hypnocatstudio.com
Да, точно. Наверное придется смешивать цвета вручную, благо фон одноцветный.


Вернуться наверх
 Профиль Отправить e-mail  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB