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

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

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию .graphics.drawRoundRect() Возможно переписать/заменить на свою ф-цию?

Ну, просто эти углы у него совсем не круглые какие-то получаются, а вызовов этого самого метода по коду раскидано... много вобщем. Хотелось бы просто одним движением их всюду заменить.
__________________
Hell is the possibility of sanity

Старый 23.12.2007, 22:57
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
если пишешь в эклипсе, там есть замена по файлам.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А нельзя что-нибудь типа override Graphics.drawRoundRect(){...}?
Ну, вроде как переопределить чего делать в этом методе.

Зы. Не, не в эклипсе, вот на работе ЦС3 стоит, в ней от нечего делать чего-то ваяю %) Можно и Вордом, конечно, поменять =) Но, есть уже зарезервированые слова (синеньким подсвечиваться будут =).
Ну, как бы нет смысла пользоваться встроенным методом, т.как нехорошо получается. А функционал-то такой же останется =)
__________________
Hell is the possibility of sanity

Старый 24.12.2007, 11:03
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
ну тогда не выйдет экземпляр Graphics создаётся без твоего участия. значит не получится переопределить.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
package {
    import flash.display.Sprite;
	import flash.display.Graphics;

    public class PowerSprite extends Sprite {
		private var __circle:Sprite;
        public function PowerSprite() {
            Graphics.prototype.someFunc = function():void {
				trace("custom function");
			}
			__circle = new Sprite();
			__circle.graphics.beginFill(0,1);
			__circle.graphics.drawCircle(0,0,100);
			__circle.graphics.endFill();
			this.addChild(__circle);
			__circle.graphics["someFunc"]();
        }
    }
}
Вот, все чего хочется - не писать квадратные скобки и кавычки %)
Чего-то читал про настройки компайлера (-es/-аs3) и namespace... но, как-то то ли не дошло, то ли я что-то не то читал =)
__________________
Hell is the possibility of sanity

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

Регистрация: Sep 2002
Сообщений: 30,787
Ну а что мешает сделать свое свойство, типа canvas, склонировать все методы Graphics и дописать свои? Прям так обязательно использовать graphics?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, конечно же можно. Но я это делаю скорее из любопытста и в целях самообразования %), возможно, в какой-то ситуации нужно будет именно так, а не по-другому. Т.е. мне не важно получить желаемый результат, а использовать именно эту возможность.
+ мне действительно мешает ф-ция рисования прямоугольников с кривыми (не закругленными) %) углами =) Хочется чтобы ее впринципе в проекте не существовало.

ЗЫ. Т.е. не важно, будет ли это класс Graphics или, например, Array. Вот, как сделать, чтобы
Код:
var a:Array = new Array();
trace(a.myFunc()); // Hi, World!
__________________
Hell is the possibility of sanity

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

Регистрация: Sep 2002
Сообщений: 30,787
Задачи надо решать по мере их возникновения, не придумывая при этом себе дополнительные сложности.
У тебя ровным счетом наоборот, задачи мнимые, плюс с тучей дополнительных сложностей.

В случае с Array никаких проблем в использовании наследования нет.

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

Регистрация: Oct 2007
Адрес: Гродно
Сообщений: 67
Отправить сообщение для krolser с помощью Skype™
Цитата:
Сообщение от wvxvw
Ну, просто эти углы у него совсем не круглые какие-то получаются, а вызовов этого самого метода по коду раскидано... много вобщем. Хотелось бы просто одним движением их всюду заменить.
А если попробовать зарание установить стиль линии и при этом указать параметр pixelHinting. Более подро об этом параметре можно глянуть в лайфдоках

Вот пример где этот параметр сначала не установлен (по умолчанию), а во второй части установлен.

Код:
graphics.lineStyle(1);
graphics.drawRoundRect(10,10,100,100,20,20);

graphics.lineStyle(1,0,1,true);
graphics.drawRoundRect(10,130,100,100,20,20);

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
там pixelHinting без разницы - попробуй радиусы поменьше поставить - сам все поймешь. Там просто алгоритм какой-то нехороший, который эти углы рисует.
Код:
graphics.lineStyle(1);
graphics.drawRoundRect(10,10,100,100,20,20);

graphics.lineStyle(1,0,1,true);
graphics.drawRoundRect(10,130,100,100,20,20);

graphics.lineStyle(1);
graphics.moveTo(20,0);
graphics.lineTo(110,0);
graphics.curveTo(130,0,130,20);
graphics.lineTo(130,80);
graphics.curveTo(130,100,110,100);
graphics.lineTo(20,100);
graphics.curveTo(0,100,0,80);
graphics.lineTo(0,20);
graphics.curveTo(0,0,20,0);
Просто поставь рядом и посмотри на разницу.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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