Сообщество скриптеров (Академия)
James пишет: И ещё: мне нужно сделать проверку, помещается ли некоторая строка в битмап - т.е., без сжатия. Как это реализовать?
Возьми длину строки и умножь её на некоторую константу и срани с размером, которую находи примерно так bitmap.text_size("Ф") или сразу bitmap.text_size(от всей строки)
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Я создал новый класс, например NewClass и мне нужно добавить строку его создания в стандартный класс Scene_Title. Возможно ли это сделать, не изменяя саму Scene_Title?
Создаю класс в стандартном Scene_Title:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Но вот появился вопрос, а если функция передается с параметром, как тут выкрутится?
Ex.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
По идее, при обработке массива он должен вернуть другой массив, состоящий из номеров позиций элементов, равных q. Например, после работы с массивом
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Он проще, но полный перебор...
Может, всё же как-то возможно исправить первый вариант?
Хотя, может он памяти больше занимает - кто знает, как работает метод .index.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Есть массив A, каждый элемент которого также массив из двух элементов ([[q,2],[w,3],[e,999] и так далее]). Есть одномерный массив B.
Надо приплюсовать к A B таким образом, чтобы в итоге получилось q,2],[w,3],[e,999],[b[0],0][b[1],0][b[2],0]...[b[n],0.
То есть, к массиву A добавляется массив из двух элементов, нулевой из которых равен какому-то элементу массива В, а первый - всегда ноль. Как такое можно реализовать?
Самый очевидный способ - использовать цикл (for i in 0..(b.size-1) A.push([b,0]) end), но может быть есть какой-то другой способ?
P.S. Просто ранее я использовал одномерный массив А и добавлял к нему массив В тупо сложением.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Извини, я честно не понял как работает первый скрипт, который не работает.
Второй - больно долго будет обрабатывать
Но я всё же написал свой скрипт, кажись он работает. Проверяй
Теперь про вопрос в догонку...
Странно... на ум не чего не идёт, думаю начну от предложенного тобой метода и пойду в свой метод. Посмотрим что выйдет
7 минут спустя
мда... вышло конечно не очень, но работает на ура...
вначале хотел сдлелать как ты предложил, но потом заметил что ты написал про сложение и я решил сделать так.
сперва меняем наш одномерный массив, потом складываем с двумерным
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Паскаль и знаю.James, ты какие языки программирования знаешь?
Я планировал сделать так: с помощью index(q) ищется первый элемент, равный q и его номер заносится в i. Потом в массиве начиная с i-го элемента по конечный используется опять index(q).Извини, я честно не понял как работает первый скрипт, который не работает.
Кажется, работает.Но я всё же написал свой скрипт, кажись он работает. Проверяй
Кстати, вопрос:
Теперь по поводу второго кода.
В Array загонять не годится, наверное - я не намерен использовать это ещё где либо. Хотя, вариант приемлемый.
Кстати, а можешь объяснить, как это работает? В частности arr.map{|i|[i,0]}. В итераторах я пока вообще ничего не понимаю и понять пока не удалось.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
если <что угодно> существует то истина( если <что угодно> не равно ложь) - это особенность Руби.
ну так просто помести этот код без класса Array в свой класс (или куда ещё), правда придётся слегка его поправить, если нужен буден он как метод.В Array загонять не годится, наверное - я не намерен использовать это ещё где либо. Хотя, вариант приемлемый.
Итератор .map - очень злой итератор(злее его только .map! и .delete_if)
Так, теперь что он делает: он проходится по каждому элементу массива и изменяет его согласно неким правилам записных в фигурных скобках, в нашем случае правило такое [i,0], где i - текущий элемент массива (не индекс! не нравится i, можешь заменить его на что хочешь, но только в пределах скобок). В результате возвращает новый массив изменённый по правилам.
.map! - тоже самое, но как говорит нам ! - изменяет сам массив
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Почему так?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скажи цель этого выбора, я заставлю его работать.
бред.. бред... бред... но работает...
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Да и моё решение выглядит красивше.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
По идее, он должен по очереди показывать текст. Но при попытке задать ему
Почему такое?
И ещё, как можно сделать этот скрипт покрасивее?
UPD
А, не, всё в порядке. Тупо в эвенте неправильно скрипт прописал. Перенёс запятую на следующую строчку
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
На строку "a^2=b^2+c^2-2bc*cos A" выдаёт ширину 201. Но когда я пытаюсь впихнуть эту строку в битмап такой ширины, то строка сжимается.
От чего такое может быть?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
попробуй подобрать минимальную ширину при которой не сжимается, потом изменить длину текста и повторить, может это .text_size халтурит.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ведь вроде бы text_size должен выдавать Rect, который можно сразу же использовать в draw_text, но нет, приходится на один пиксель брать больше. Правда, с более короткими строками всё было в порядке...
Оффтоп:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
