Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Сообщество скриптеров (Академия)

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34677

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
Есть предложение: сделайте скрипт: когда в анимации будет указываться вспышка с нулевой силой - в метсо вспышки в бою будет сотрясаться экран, типа шейк скрин.
Это добавить динамики к многим играм, где сильно не хватает тряски экрана в бою. (при мощных атаках и овердрайвах).
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34703

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
1. насчёт скриншота. На 5 страницы.
rpg-maker.info/index.php?option=com_kune...&limitstart=80#33725

2. насчёт тряски. Так вроде есть команда такая - трясти экран
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34706

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
Во время проигрывания батлл анимации? Где?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34707

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
2dark32 Нет, мне, если можно, что-нибудь попроще. Без DLL и сохранения в файл(это совсем уж не надо). Мне лишь на пять секунд в память надо - и удалить. Но, если это единственный вариант, и альтернативы найти не удастся, то придётся приютить в проект ещё один чужой скрипт(чего бы мне не хотелось).
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34745

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
Этот способ мне не подходит совершенно. Скри6ншот в результате появляется с задержкой в несколько секунд. У меня в конце main для Scene_Map стоит Screen::shot('ssh'), а в initialize Scene_Menu стоит $dark.bitmap=Bitmap.new('ssh.png') - и к моменту этого Битмап.нью ssh.png тупо не успевает создаться. Если использовать какой-нибудь другой метод - без записи в файл - это будет происходить гораздо быстрее.
Последнее редактирование: 14 года 3 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34746

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Есть одно наиглупейшее предложение: создай новую сцену, но не вызывай Graphics.transition. НО это влечёт очень много неприятных моментов...

Уточни, что должно происходить в момент паузы, какие действия?
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34747

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
Я так уже пытался - очень много неприятных моментов - вплоть до того, что посредством этого класса не показываются спрайты. А именно в этом и есть суть моего класса. Должны именно показываться/двигаться/вращаться/меняться местами спрайты.
Последнее редактирование: 14 года 3 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34774

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
И ещё кое-что: У меня есть некоторая текстовая строка и пустой спрайт с заданными размерами - строка слишком длинная, и её надо разделить на две. Использую bitmap.draw_text. "\n" не помогает - или я его использую неправильно. Строка просто сжимается, как с \n (перевод строки не происходит, хотя сам символ \n не отображается - т.е., он воспринимается системой), так и без \n.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34777

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
bitmap.draw_text - не переносит на новую строку.
Можно использовать несколько bitmap.draw_text в столбик
var.bitmap.draw_text(x,y,dx,dy,str1[,algin])
var.bitmap.draw_text(x,y+32,dx,dy,str2[,algin])
var.bitmap.draw_text(x,y+64,dx,dy,str3[,algin])
.......

или динамически
str= %{some text
other some text}.split("\n")
# %{} - способ задать строку.
# split(s) - разбить строку на массив строк по переменной s (по умолчанию пробел)
или
str = ["ome text","other some text"]
str.each_index do |i| # по каждому индексу
var.bitmap.draw_text(x,y+i*32,dx,dy,str[i][,algin])
end

З.Ы. код писался на коленки, я не гарантирую 100% работу.
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 14 года 3 мес. назад от dark32.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34779

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
А к какому классу относится метод split? - Мне не удалось найти в справке мейкера хоть какого-нибудь его упоминания.

P.S. Со скрином я разобрался - и очень просто. Поставил в начало main строку
@spriteset = Spriteset_Map.new (Вот что значит "погуглить")
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34782

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
split - class String. (строковый класс)
Это из чистого Ruby. Почитай документацию к Ruby и в вики-учебники.
Ruby/Подробнее о строках/Преобразование в массив или путешествие туда и обратно


Викиучебник/Ruby/

В справке предоставлено только то что непосредственно относится к мейкеру. Сам же RGSS унаследовал Ruby почти полностью (проблемы только с gem'ами, я не знаю куда их класть...)
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 14 года 3 мес. назад от dark32.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34790

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
Благодарю. Работает.
Теперь другой вопрос - Есть у меня объект, ни от чего не наследуемый. (То есть, наследуемый от Object) Как его удалить после того, как он закончит своё действие?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34791

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
И ещё: Если одновременно совершаются два метода (в данном случае - из одного метода вызывается другой), и в обоих есть локальные переменные с одинаковыми названиями - не приведёт ли это к конфликту? Например из метода 1 вызывается метод 2 (метод 2 находится за пределами какого-либо класса). В методе 1 переменная type и в методе 2 переменная type. Только в методе 1 она означает, например, тип удара, а в методе 2 что-нибудь другое.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34792

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
И ещё: Почему у меня строка
Breakmap=Bitmap.new("Graphics/Breakmaps/Map"+br_map.to_s+".png")
выдаёт ошибку? (Breakmap - это локальн.)
Последнее редактирование: 14 года 3 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34798

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
1. я сам не знаю как удалить. Но я делаю так:
создаю метод dispose и в него помещаю всё что нужно сломать, обнулить в классе, потом переменной присваиваю ничто (nil), потом "сборщик мусора" сам всё убирает. Ка делать правильно я не знаю
2. не должны. на то они и локальные, что доступны только методу/классу (var/@var). Конфликт будет если ты используешь глобальные переменные ($var) и константы (VAR, даже и не спрашивай как изменить значение константы) или же ты используешь один класс в двух переменных и изменяешь переменную класса (@@var).
Так же забывай, в Ruby нет понятия как типизированные переменные, т.е. переменной числа ты можешь присвоить переменную строки
(var = 4
str ="654"
var = str)
3. br_map - это что?
и какую именно ошибку выдаёт?
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34814

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
br_map(Теперь уже просто map, спасибо за 2) - это число, показывающее номер брейккарты.
Ошибку выдаёт синтаксическую - причём замечено, что при замене Breakmap=... на $Breakmap=... ошибка исчезает. Видимо, где-то запрещено создавать локальные объекты. В таком случае, придётся писать для этого целый дополнительный класс.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34815

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Breakmap, с большой буквы, как же я сразу не заметил...
С БОЛЬШОЙ буквы начинаются константы, а константы не могут изменятся внутри класса (если честно - могут, но лучше этого не делать, они на то и константы, чтобы не меняться)
Выход таков: замени Breakmap на breakmap.
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34816

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
Во я идиот!) Спасибо
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34817

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсовПисатель 2 местоРазработчик3 место2 место ПисательПобедитель конкурса
Итак, условие: есть битмап, на котором произвольно располагается N линий цвета А (цвет А не совпадает ни с одним из цветов картинки). Линии не прямые, т.е. куски картинки, содержащиеся между линиями, неправильные (в смысле геометрии) - они могут быть как кругом, так и треугольником или ещё какой-то фигнёй. Известно, что ни одна линия не обрывается - на конце каждой есть либо край битмапа, либо другая линия

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

Есть предложения? Или сие невозможно посредством RGSS?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34823

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Теоретически возможно, практически не вижу в этом смысла.
Возможно и не такое, но и это уже сложно.
Нужно создать битмап картинки и массив (для будующих картинок), затем проверять цвет пикселей, если он равен цвету линии, то проверяем следующий, иначе переносим его на другой битмап. Что вроде этого, точнее не могу сказать.
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.270 секунд