- Сообщений: 119
- Спасибо получено: 3
(XP)EKLib v1.5
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
Предисловие:
Вот, наконец, я и закончил вылавливать всех жуков в своем творении и с гордостью, а так же потаенным страхом в душе, могу представить на ваш суд свою библиотеку. Методов в ней уже довольно много . Но действительно стоящих всего два - выдергивание любых кусков из изображения и рисование текста с переносом слов. С последним я мучился особенно долго, но теперь он должен работать, как часы... Смотрите, тестите, оценивайте, пользуйтесь, критикуйте... Только ногами не бейте... или, хотя бы, не по голове... Пожелания и советы - пишите все. Вот...
Методы:
- getImagePartByIndex - Метод возвращает фрагмент изображения.
- intToString - Метод преобразует целое число в строку с заданным количеством знаков.
- changeFont - Метод изменяет все параметры шрифта заданного изображения
- hyphenDrawText - Метод построчно рисует заданный text на bitmap, перенося непомещающиеся слова
- drawFigure - Метод рисует геометрические фигуры на заданном изображении
- findFileExp - Метод возвращает первый найденный файл в директории path, именем filename и расширением взятым из массива exp
В следующих версиях планирую:
- Добавить новые фигуры в метод drawFigure.
Скрипт:
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Это все, потому что я ужасный тип.
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
- Сообщений: 119
- Спасибо получено: 3
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
- Сообщений: 119
- Спасибо получено: 3
Но, спасибо, старался... ^^ И по части оформления тоже. (=
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
- Inca
- Новый участник
-
- Спасибо получено: 0
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
- Сообщений: 119
- Спасибо получено: 3
intToString - за большую востребованность данного метода не ручаюсь, но пригодиться может, к примеру, когда нужно перебрать большое количество файлов, различающиеся лишь порядковым номером. Иначе, придется называть их без ноликов и в папке они будут следовать примерно так: a1, a2, a20, a21, a22, a23, a3, a4... и т.д. Думаю, понятно. Не смертельно, но, имхо, не удобно. Уж лучше старые добрые нолики - a01, a02, a03....
changeFont - этот товарищь еще до конца не сформирован, и я сильно сомневаюсь в его необходимости, но пока рука не поднимается удалить... прикручу поддержку фонтов, что бы он менял, как их на битмапах, так и просто их, может, еще чего придумаю... а может и потру...
hyphenDrawText - без лишней скромности скажу, что значение этого метода переоценить сложно. Ибо стоит тебе попытаться нарисовать текст в 2 и более строчки на битмапе, если по какой-то причине (а причин полно) не получится сделать это стандартным мессаджем, как тут же возникнет проблема переноса слов. Этот метод наиболее оптимально подсчитывает длину для каждой строки, с учетом типа и размера шрифта, подбирает высоту строки, если ее не указать вручную, и сам переносит непомещающиеся слова! Причем именно слова, не оставляя кусок слова на одной строке, а другой - на второй. В будущем добавлю поддержку больших слов - которые при всем желании не поместятся на строке (сейчас выдает false) и выравнивание текста, аля html овские align и valign
drawFigure - просто и мило. несмотря на то, что сейчас оно умеет рисовать лишь квадраты, даже это умение способно облегчить кому-нибудь жизнь, если квадрат нужно нарисовать полый , и не 1, а десяток. Моя большая мечта - научить его рисовать кружки. ^^
findFileExp - это вторая сомнительная функция... тем не менее, ее можно использовать что бы выбрать наиболее предпочтительное расширение файла, а соответственно появляется возможность хранить несколько файлов под одним именем, но с разными расширениями... фигня, конечно, но вдруг кому-нибудь пригодится?..
Воть... =^-^=
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
- Сообщений: 2158
- Спасибо получено: 24
getImagePartByIndex я смотрю работет с любой картинкой как с тайлсетом, выбитает фрагмент рисунка. И если самим тайлам она не поможет, всё равно эвент, но вот с другой графикой, ты прав, может. Только вот листы графики, как раз то, что ограничивает. Ибо поменять элемент в середине листа будет непросто. (не программе, а пользователю. Например рожа не понравилась)
Вот если эта функция сможет отвечать ещё и за анимацию произвольных кусков графики (То есть не брать один и показывать, а брать несколько, и показывать по очереди.), тогда будет гениально.
intToString Ещё неплохо бы выбирать количество ноликов.
Народ у нас жадный. Кому то количество предметов 01 хватит, а другому и 001 мало.
changeFont без комментариев. Хорошая функция, пригодится.
особенно вместе с hyphenDrawText
drawFigure это вообще первый шаг к созданию графичаского редактора на мейкере. А если без шуток, то в мейкере нарисовать интересно не квадрат, а проще, линию. Таким образом изменяя эту функцию, можно делать полоски жизни или там маны без извращений. Просто пускать поверх шаблона линию сделанную c помощью. drawFigure А если ещё и градиент прикрутить, то ух чего можно будет сделать.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
- Сообщений: 119
- Спасибо получено: 3
Да, насчет замены - верно. К сожалению, мои познания в программировании не столь велики, как хотелось бы; а так, в идеале, собрать бы внешнюю программку для работы с такими вот произвольными сетами... Может, и займусь...
getImagePartByIndex Ибо поменять элемент в середине листа будет непросто. (не программе, а пользователю. Например рожа не понравилась)
Вот если эта функция сможет отвечать ещё и за анимацию произвольных кусков графики (То есть не брать один и показывать, а брать несколько, и показывать по очереди.), тогда будет гениально.
Ну, а по поводу последовательности картинок - поскольку она ничего сама не показывает, а лишь возвращает образец bitmap, то нет ничего сложного в том, что бы вернуть целый массив из определенного количества элементов. Сделаю.
А выбор количества ноликов там есть ^_-intToString Ещё неплохо бы выбирать количество ноликов.
Народ у нас жадный. Кому то количество предметов 01 хватит, а другому и 001 мало.
def intToString (number, digits = 3, filling_symbol = 0 ).
И даже выбор значка, если не нравится нолик. ^^
В таком случае довожу ее до ума.changeFont без комментариев. Хорошая функция, пригодится.
особенно вместе с hyphenDrawText
А вот тут меня опредили. Чужую славу грабастать себе не буду, но имени автора я не знаю.drawFigure это вообще первый шаг к созданию графичаского редактора на мейкере. А если без шуток, то в мейкере нарисовать интересно не квадрат, а проще, линию. Таким образом изменяя эту функцию, можно делать полоски жизни или там маны без извращений. Просто пускать поверх шаблона линию сделанную c помощью. drawFigure А если ещё и градиент прикрутить, то ух чего можно будет сделать.
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
- Сообщений: 119
- Спасибо получено: 3
Как лучше сделать: Отдельным классом, как это сделано сейчас - соответственно сохранится совместимость с ранними версиями.
Или же изменять существующие классы, такие как Bitmap, добавляя им новые методы?
Как будет выглядеть грамотнее, красивее и... удобнее... с точки зрения скриптописания?
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
- Equilibrium Keeper
-
Автор темы
- Не в сети
- Захожу иногда
-
- Скриптер
- Сообщений: 119
- Спасибо получено: 3

Обновлено в соседней темке.
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
- Сообщений: 2158
- Спасибо получено: 24
(XP)EKLib v2.0
rpg-maker.info/index.php?option=com_smf&...g24183;topicseen#new
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
