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

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

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

Регистрация: Jul 2007
Сообщений: 37
По умолчанию Как задать Rotate в beginGradientFill

В принцыпе этот вопрос наверно актуален и для AS 1/2.0 и возможно где то подымался.

Нет, как задать через matrix - это ваопрос понятный, но для matrix нужны конечные размеры фигуры.

Если matrix опустить, то радиальная заливка идет слева на право, и никаких размеров знать не надо - по умолчанию от границы до границы - все отлично. Как теперь мне сделать тоже самое сверху в низ?

P.S. Вариант Shape.rotation не рассматриваю

Старый 31.07.2007, 15:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну размеры того, что вы рисуете, вам же известны?

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

блогер
Регистрация: Nov 2006
Адрес: Минск
Сообщений: 370
Записей в блоге: 6
Отправить сообщение для vapes с помощью ICQ Отправить сообщение для vapes с помощью Skype™
Пореверните обьект на 90 или -90 градусов и залейте его, а потом опять поверните

Старый 31.07.2007, 15:52
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
vapes, пробовал?

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

блогер
Регистрация: Nov 2006
Адрес: Минск
Сообщений: 370
Записей в блоге: 6
Отправить сообщение для vapes с помощью ICQ Отправить сообщение для vapes с помощью Skype™
нет не пробовал, но скорей всего повернуть придется через МаtrixTransform, простой rotation не поможет

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
кто мешает делать матрицу в зависимости от исходных размеров заливаемых объектов ?
__________________
33 коровы

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

Регистрация: Jul 2007
Сообщений: 37
Да ничего не мешает, просто когда matrix опускаешь, градиент как будто бы выставляет 100% (по умолчанию только по вертикале). Вот я и задумался, зачем создавать лишний объект ради поворота радиальной заливки.


Последний раз редактировалось voy22; 31.07.2007 в 16:59.
Старый 31.07.2007, 16:58
voy22 вне форума Посмотреть профиль Отправить личное сообщение для voy22 Найти все сообщения от voy22
  № 8  
Ответить с цитированием
voy22
 
Аватар для voy22

Регистрация: Jul 2007
Сообщений: 37
Цитата:
Сообщение от vapes
Пореверните обьект на 90 или -90 градусов и залейте его, а потом опять поверните
P.S. Вариант Shape.rotation не рассматриваю

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

Регистрация: Jul 2007
Сообщений: 37
Наткнулся еще на одну проблемму. Вот Код:
Код:
var r:Number = 90; // Угол поворота радиальной заливки
var sh:Shape = new Shape();
var m:Matrix = new Matrix();
m.createGradientBox(50, 200, 0, 0, 0);
m.rotate(r * Math.PI/180);

sh.graphics.beginGradientFill('linear', [0xff0000, 0x0000ff], [1,1], [0, 255], m);
sh.graphics.lineTo(200, 0);
sh.graphics.lineTo(200, 50);
sh.graphics.lineTo(0, 50);
sh.graphics.lineTo(0, 0);
sh.graphics.endFill();

addChild(sh);
Смотрим... В прямоугольнике идет радиальная заливка, сверху в низ, и все равномерно. Теперь переменной "r" задаем "0" или "180"... и центр радиальной заливки смещается от центра самой фигуры.
Все решается таким путем: m.createGradientBox(200, 50, 0, 0, 0);
Но это решаемо, если угол поворота прямой. Но мне нужен любой угол, и что бы центр заливки оставался в центре фигуры. )*( чую, что нужна хитрая формула для расчета первых двух значений createGradientBox, в зависимости от габаритов фигуры и угла наклона. Может есть готовые решения?


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

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

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


 


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


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