Форум 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.
Создать новую тему   Часовой пояс GMT +4, время: 22:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
graphics , linestyle , lineTo , moveTo

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

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


 


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


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