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

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

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

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Друзья, добрый вечер, помогите пожалуйста разобраться в проблеме прорисовки линий.
Проблема показана в изображении (ниже)
Реализация класса:
Код AS3:
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.LineScaleMode;
import flash.display.CapsStyle;
 
public class HPanel extends MovieClip
{
private var _ширина       : Number=0;
private var _высота       : Number=0;
private var _X            : Number=0;
private var _Y            : Number=0;
private var _смещениеЛинии: Number=0;
private var _толщинаЛинии : Number=0;
private var _цветЛинии    : Number=0;
 
public function HPanel(ширина_, высота_, смещениеЛинии_, толщинаЛинии_, цветЛинии_:Number=0)
{
// ---[ сохраняем настройки ]------------------------------------------------------------------------------------------------------------
   this._X             = 0;              // X
   this._Y             = 0;              // Y
   this._ширина        = ширина_;        // длинна диалогового окна;
   this._высота        = высота_;        // высота диалогового окна;
   this._смещениеЛинии = смещениеЛинии_; // отступ между линиями;
   this._толщинаЛинии  = толщинаЛинии_;  // толщина линии;
   this._цветЛинии     = цветЛинии_;     // цвет линий;
   Init(); // инициализания;
}
 
public function Init():void
{
var X0:Number =0;
var Y0:Number =0;
var X1:Number =0;
var Y1:Number =0;
 
while(true)
     {
           Y0+=this._смещениеЛинии;
           X1+=this._смещениеЛинии;
 
       if( Y0> this._высота){X0+=this._смещениеЛинии; Y0=this._высота;}
       if( X1> this._ширина){Y1+=this._смещениеЛинии; X1=this._ширина;}
 
       if((X1>=this._ширина-1) &&
          (Y1>=this._высота-1)){break;} // супер выход из цикла;
 
       var рисуемЛинии: Sprite  =new Sprite();
           рисуемЛинии. graphics.lineStyle(this._толщинаЛинии, this._цветЛинии, 1,false, LineScaleMode.NORMAL, CapsStyle.SQUARE); // показали стиль;
           рисуемЛинии. graphics.moveTo(X0, Y0);
           рисуемЛинии. graphics.lineTo(X1, Y1);
           trace("(",X0,",",Y0,") - (", X1,",",Y1,")");
           this.addChild(рисуемЛинии);
} // while
} // function
 
} // class
} // package
Запуск
Код AS3:
var панель: HPanel = new HPanel(300,200,4*2,4,0xFFFFFF);
    панель.x=30;
    панель.y=30;
addChild(панель);
...ну согласен, как бы - да, кривая математика.
Изображения
 


Последний раз редактировалось wvxvw; 16.08.2009 в 22:47.
Старый 16.08.2009, 22:46
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вы бы еще обфускатором по коду прошлись, а потом выложили на форум...
А идея - вообще издевательство... отрисуйте небольшой кусочек в битмапдату и заливайте ею... зачем плодить кучу спрайтов?
__________________
Hell is the possibility of sanity

Старый 16.08.2009, 22:56
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 3  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Ну так нада Долго рассказывать все нюансы, проблема на данный момент в теме топика.

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
предлагаю передать данный код в надежные руки, вот сюда: http://govnokod.ru

Старый 17.08.2009, 14:44
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 5  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Предлагаю не пиарить ресурсы типа http://govnokod.ru, и по мочь по делу! Именно для этого форум и существует.

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

Регистрация: Jan 2009
Сообщений: 1,651
2wvxvw: по-моему такую текстуру клонировать - больше затрахаешься, чем нарисовать штрихами. по крайней мере - такие уголочки не получатся. В левом верхнем и правом нижнем еще по одному делению должно быть.

автору: реально лень разбираться. Похоже, что ошибка где-то здесь:

Код:
      if( Y0> this._высота){X0+=this._смещениеЛинии; Y0=this._высота;}
      if( X1> this._ширина){Y1+=this._смещениеЛинии; X1=this._ширина;}

Старый 17.08.2009, 15:32
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Как бы алгоритм будет по разному работать если высота и ширина четные / нечетные, а кроме того используются натуральные а не целые числа, изза этого тоже будет погрешность.
Не вижу абсолютно ничего сложного в отрисовке такой текстуры даже в том же фотошопе и потом - заливке... и быстрее гораздо получится, и быглядеть будет лучше.
__________________
Hell is the possibility of sanity

Старый 17.08.2009, 15:37
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 8  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Друзья,
Посмотрите пожалуйста пример сайта, и тогда вы поймете почему я не могу залить какой нибудь rectangle какой нибудь текстурой: http://www.massiveattack.co.uk

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от ERrorMAKros Посмотреть сообщение
Друзья,
Посмотрите пожалуйста пример сайта, и тогда вы поймете почему я не могу залить какой нибудь rectangle какой нибудь текстурой: http://www.massiveattack.co.uk
писец какой то... а это не пиар блин у вас, почитайте хотя бы мура сначала чтобы код больше ни у кого смеха не вызывал

пытался честно но так и не понял почему нельзя сделать как предложили...

Старый 17.08.2009, 16:07
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 10  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Открыл для себя новинку - спрайт можно заливать .png текстурой с элементами прозрачности. При этом прозрачность сохраняется.
Остановлюсь всетаки на заливке
Всем спасибо!


Последний раз редактировалось ERrorMAKros; 17.08.2009 в 16:24.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
graphics , linestyle , lineTo , moveTo
Опции темы
Опции просмотра

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

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


 


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


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