Пятница, 25 Июня 2021, 09:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » Kazerex [18]
Результаты поиска
KazerexДата: Воскресенье, 02 Марта 2014, 17:22 | Сообщение # 1 | Тема: Colourful Bird [Android]
был не раз
Сейчас нет на сайте
Название: Colourful Bird
Жанр: Аркада
Платформа: Андроид
Движок: Game Maker Studio
Разработчик: Mininsoft

Управление в игре простое, нажатием на экран птица подлетает вверх, нельзя касаться блоков не такого цвета как птица, а так же нельзя касаться земли и потолка.
Просьба не судить очень строго, это первая моя игра вышедшая в свет, а так же сделана она была больше для проверки сервисов гугл (да и делалась быстрее чем заливалась в маркет smile ). Но лично мне самому игра очень нравится, она гораздо тяжелее других клонов Flappy Bird, и поставить новый рекорд просто не выходит. Так же в ней есть онлайн таблица рекордов.


Скачать


Сообщение отредактировал Kazerex - Воскресенье, 02 Марта 2014, 17:23
KazerexДата: Среда, 14 Августа 2013, 22:00 | Сообщение # 2 | Тема: Растягивание спрайта по длине текста.
был не раз
Сейчас нет на сайте
string_width(str) и string_height(str) определяются длинну в пикселях текста, например если str='Какой-то текст', то выполнив эти функции ты получишь ширину и высоту "Какой-тотекст" значения 105 и 18. А дальше рисуешь прямоугольник, от левой точки откуда выводится текс до точки 49,18

В событие Create:
Код
draw_set_font(0)//Не забыть создать шрифт с полным диапазоном символов
text_x=256
text_y=256
str='Какой-то текст'


В событие Draw:
Код
draw_set_color(c_black)
draw_rectangle(text_x, text_y, text_x+string_width(str), text_y+string_height(str), false)
draw_set_color(c_white)
draw_text(text_x, text_y, str)


Чтобы слова не заходили за экран, необходимо просто вычислять координату откуда выводиться текст и сдвигать не разицу между точкой вывода до положения курсора. И сделать поверку с четырёх сторон.


Сообщение отредактировал Kazerex - Среда, 14 Августа 2013, 22:01
KazerexДата: Среда, 14 Августа 2013, 21:43 | Сообщение # 3 | Тема: Движение объекта за видом
был не раз
Сейчас нет на сайте
Как разница сколько объектов? Пользоваться

view'ами очень просто

[view_xview, view_yview] - Самаый верхний левый пиксель экрана.
[view_wview, view_hview] - Это рзмеры вида по горизонтале и по вертикале.

Отсюда выходит, что:
[view_xview+view_wview, view_yview+view_hview] - это самая нижняя точка
[view_xview+view_wview/2, view_yview+view_hview/2] - Середина экрана(вида)

И таким образом можно как угодно делать.
Например вывести квадрат 64х64 ровно по центру экрана(вида):
draw_rectangle(view_xview+view_wview/2-32, view_yview+view_hview/2-32, view_xview+view_wview/2+32, view_yview+view_hview/2+32, false)

room_width и room_height - ширина и высота всей комнаты.

То есть:
room_width=4000 room_height=3000
view_wview=640 view_hview=480 - Т.е. только лишь размер окна отображённого на экране
view_xview=0 и view_yview=0 изначально равны нулю, и как только вид комнаты начинает двигаться вниз то и они изменяются, можно так же воздействовать непосредственно на них, например:
if keyboard_check(vk_right) view_xview+=5 //При нажатии на стрелку Вправо сдвинуть экран на 5 пикселей вправо.

Так же обязательно прочитать про все функции в справке. Ещё поясню для неопытных:
view_xview[0] - это одно и тоже, что view_xview, когда работа идёт с одни видом, то можно не указывать квадратные скобки. Это реализовано так во многих элементах GML, а так же в других языках программирования, что M[0]=5 это тоже самое, что и M=5. Или M[0,4]=6 одинаково M[4]=6.
Обращение к объектам тоже происходит по этому же принципу player.x=3 тоже самое, что instance_find(player,0).x
У Объектов (и некоторые другие элементы, наример у View'ов тоже) есть что-то вроде порядковых номеров, и обращение к нулевому образцу происходит без указания индекса.


Сообщение отредактировал Kazerex - Четверг, 15 Августа 2013, 00:06
KazerexДата: Среда, 14 Августа 2013, 18:01 | Сообщение # 4 | Тема: Возможно ли изменить эффект перехода в другую комнату?
был не раз
Сейчас нет на сайте
Если ещё надо, то могу сделать любой переход, непосредственно на gml, только опиши подробнее как именно выглядят эффекты летящего блендера и переход из Final Fantasy. Реализовать всё это можно с использованием surface'ов, но думаю быстродействие будет не на высоте.
KazerexДата: Среда, 14 Августа 2013, 17:55 | Сообщение # 5 | Тема: Темнота...
был не раз
Сейчас нет на сайте
Скачать пример.

Вот сделал пример "квадратных теней" 64х64(Можно менять размер как угодно).

Для полного просмотра примера рекомендую воспользоваться справкой по F1.

Сделал ещё давно, но выложить не смог, т.к. был заблокирован на сайте по ошибке модератора. (Но благодаря этому дополнил пример, сделал несколько скриптов на другие случаи и более менее максимально постарался оптимизировать код)

Для данной игры, думаю, неплохо подойдёт скрипт Square_Shadow_2 или Square_Shadow_Color_2(Если хочется сделать подсветку разными цветами вокруг персонажей).

По быстродействию. Не очень быстро всё работает на моём динозавре десятилетней давности на полном экране с разрешением 1280х1024:
Скрипт Square_Shadow - ~50 FPS, Square_Shadow_2/Square_Shadow_Color_2 - 27-30 FPS(при одном персонаже) 18-22 FPS(при четырёх)
На нетбуке с двухъядерным 1.67Ггц и видеокартой чуть мощнее Intel HD3000 с разрешением 1366х768 в два раза побыстрее(но почему-то иногда падает и меньше чем на компьютере)
А вот на компьютере чуть мощнее (характеристик не знаю, два ядра с примерно 2Ггц+) выдёт больше 30 FPS при разрешении 1280х1024 почти всегда, кроме когда размеры квадратов теней меньше или равны 16х16.

P.S. Square_Shadow_Color_3 я не доделал, хочу в дальнейшем там реализовать смешивание цветов, чтобы был плавный переход. А так же сейчас подумал, что неплохо сделать, чтобы расчёт дальности шёл не от объекта Контроллера, а от объектов освещения, и можно просто привязывать эти объекты к другим, как осветители. (Изменения в скрипте будут доступны по этой же ссылке)

P.P.S. Krosos, рекомендую обзавестись Dropbox'ом(или другим облачным сервисом), и выкладывать ссылки на свои проекты через него, т.к. я хотел скачать демку и посмотреть какие тени тебе нужны лучше всего.


Сообщение отредактировал Kazerex - Среда, 14 Августа 2013, 21:19
KazerexДата: Воскресенье, 11 Августа 2013, 05:39 | Сообщение # 6 | Тема: Темнота...
был не раз
Сейчас нет на сайте
Ой, точно, ты ведь делаешь RPG) Как-то упустил этот факт) А можешь сделать набросок (в paint'e например) какие тебе тени нужны? Я что-то не могу понять. И если можно учесть в наброске все моменты, как тень обходит объект и прочее.

Сообщение отредактировал Kazerex - Воскресенье, 11 Августа 2013, 05:40
KazerexДата: Воскресенье, 11 Августа 2013, 04:15 | Сообщение # 7 | Тема: Темнота...
был не раз
Сейчас нет на сайте
Простой пример.

Сложный пример.

Есть у меня на этот случай два примера, если удастся разобраться со вторым, то повезло)

P.S. Примеры были скачаны лет пять назад с сайта mizzystic.ru (теперь его название gm-files.ru)
KazerexДата: Воскресенье, 11 Августа 2013, 02:33 | Сообщение # 8 | Тема: Тестер!
был не раз
Сейчас нет на сайте
Поиграй в Fahrenheit если играл то в Fallout 1, 2, Tactics. Санитары подземелей 1, 2. Platupus 1, 2 - замечательные игры. Ещё можешь Stamina поставить и играться в неё пока не станешь очень крутым.

Сообщение отредактировал Kazerex - Воскресенье, 11 Августа 2013, 02:34
KazerexДата: Воскресенье, 11 Августа 2013, 02:29 | Сообщение # 9 | Тема: Кто виноват в наших бедах?
был не раз
Сейчас нет на сайте
Душевное видео. Но лично я считаю, что большинство людей постсоветского пространства сильно прогнили, и пусть умрёт Россия и прочие, не сколько ни жалко, т.к. всё равно кругом живут ужасные люди.
KazerexДата: Воскресенье, 11 Августа 2013, 02:00 | Сообщение # 10 | Тема: Снова Аура.
был не раз
Сейчас нет на сайте
Вот посмотри, что у меня получилось, осталось только красивенько нарисовать Ауру и человечка, но с этим возиться я не стану по целому ряду причин.

Скачать пример.

P.S. Если конечно я вообще правильно понял задание...


Сообщение отредактировал Kazerex - Воскресенье, 11 Августа 2013, 02:01
KazerexДата: Суббота, 10 Августа 2013, 23:42 | Сообщение # 11 | Тема: Снова Аура.
был не раз
Сейчас нет на сайте
valeranagato, можешь сделать зарисовку (пусть даже самую кривую в паинте) как должна выглядеть аура, а так же выложить примерный спрайт?
KazerexДата: Суббота, 10 Августа 2013, 23:28 | Сообщение # 12 | Тема: Небольшой урок. Печатающийся текст в Game Maker.
был не раз
Сейчас нет на сайте
Цитата (HaGe)
CreatingOver, открою тебе секрет, это не урок, а кусок кода. а то, что какие-то школьники восхваляют твое дело - ничего не значит. им вообще пофиг что и как, лишь бы спи****ить откуда-нибудь код, самому ничего не делать.


Вот не нужно так оскорблять всех, я например не школьник, но этот "урок" (конечно да, это не урок, а скорее совет) очень мне полезен стал, я раньше делал то же самое с использованием большего количества переменных и почему-то такой алгоритм мне даже в голову не приходил. А вот HaGe, делать как Вы не очень хорошо. Да и знавал я одного школьника, он был очень умный, и код любой понимал и Генту поставить мог, всегда у него советы спрашиваю. Будьте добрее, не нужно оскорблять других на ровном месте, поберегите свою злобу для настоящих плохих вещей.
KazerexДата: Суббота, 10 Августа 2013, 20:48 | Сообщение # 13 | Тема: Нужна помощь с инвентарем.
был не раз
Сейчас нет на сайте
Пока разбирал код и делал пример, lisiyrak немного опередил)

Там нужно исправить лишь код выполняемый в этом условии в такой вид:
Код

if obj_inv_items.item_sprite[current_x,current_y] {//если место занято
        obj_inv_items.item_sprite[adds_x,adds_y]=obj_inv_items.item_sprite[current_x,current_y]
        obj_inv_items.item_sprite[current_x,current_y]=sprite_index
}


Но вот люди! У меня возникла проблема!) Я делал пример на основе этого вопроса! И у меня возникли непонятки х) Я всю голову сломал и не пойму в чём дело wacko
В инвентаре испаряется почему-то жёлтый круг, если на него навести и отпустить другим предметом. Я уже не понимаю в чём может быть проблема...

Скачать пример.

Всё, разобрался) там в условии при отпускании мыши была проверка if obj_inv_items.item_sprite[current_x,current_y] { /* ... */ } А у Спрайтка item0s номер был равен нулю. Добавил проверку если не равно noone. Теперь пример рабочий) Можете пользоваться, хотя я бы реализовал инвентарь совершенно иначе и проще, используя лишь один объект controller.


Сообщение отредактировал Kazerex - Суббота, 10 Августа 2013, 21:07
KazerexДата: Суббота, 10 Августа 2013, 19:16 | Сообщение # 14 | Тема: Небольшой урок. Печатающийся текст в Game Maker.
был не раз
Сейчас нет на сайте
Спасибо, это на самом деле очень полезно, я всегда делал сложнее, очень пригодиться.
KazerexДата: Суббота, 10 Августа 2013, 07:00 | Сообщение # 15 | Тема: Поиск средней точки
был не раз
Сейчас нет на сайте
Небольшое замечание) В Вашем коде можно всё записать в один for, а ещё, данный механизм в игре я бы реализовал при помощи листов.

Код
if ds_list_size(UNI)>0 {
      minx=ds_list_find_value(UNI,0).x
      maxx=ds_list_find_value(UNI,0).x
      miny=ds_list_find_value(UNI,0).y
      maxy=ds_list_find_value(UNI,0).y
      for(i=1 i<ds_list_size(UNI) i+=1) {
          minx=min(minx,ds_list_find_value(UNI,i).x)
          maxx=max(maxx,ds_list_find_value(UNI,i).x)
          miny=min(miny,ds_list_find_value(UNI,i).y)
          maxy=max(maxy,ds_list_find_value(UNI,i).y)
      }
      tita.x=(minx+maxx)/2
      tita.y=(miny+maxy)/2
}

Скачать пример.

Краткая инструкция по примеру:
Правая кнопка мыши создаёт объект.
Левая кнопка мыши может двигать созданные объекты.
Средняя кнопка мыши удаляет объект.

Если листы не известны, то стоит почитать про них в справке, или если, что могу объяснить сам.


Сообщение отредактировал Kazerex - Суббота, 10 Августа 2013, 07:22
KazerexДата: Суббота, 10 Августа 2013, 04:54 | Сообщение # 16 | Тема: Поиск средней точки
был не раз
Сейчас нет на сайте
А не пойму) Что должен делать этот скрипт?)

Сообщение отредактировал Kazerex - Суббота, 10 Августа 2013, 04:57
KazerexДата: Суббота, 10 Августа 2013, 04:52 | Сообщение # 17 | Тема: Сгоревший кабель питания
был не раз
Сейчас нет на сайте
Мне кажется в таких ситуациях сразу же стоит выключать всё, и покупать новый кабель. Он не так дорого стоит, а проблемы из-за этого могут быть очень дорогостоящие.
KazerexДата: Суббота, 10 Августа 2013, 04:45 | Сообщение # 18 | Тема: Нужен совет
был не раз
Сейчас нет на сайте
Если бы у меня были деньги я бы купил себе такое (Железо подбирал долго и тщательно, конечно не уверен на счёт Блока питания и Куллера, лучше проконсультироваться у продавца на счёт их)

Процессор
http://www.citilink.ru/catalog/parts/cpu/731774/
AMD FX 8350, SocketAM3+, OEM [fd8350frw8khk]
6 340

Материнская плата
http://www.citilink.ru/catalog/parts/motherboards/705382/
http://www.pleer.ru/_92860_ASUS_Sabertooth_990FXGEN3_R20.html
ASUS SABERTOOTH 990FX R2.0 SocketAM3+, ATX, Ret
5 220

Оперативная память
http://www.citilink.ru/catalog/parts/memory/702529/
CORSAIR Vengeance CMZ32GX3M4X1866C10R DDR3- 4x 8Гб, 1866, DIMM, Ret
9 080

Жёсткий диск
http://www.citilink.ru/catalog/parts/hdd/hdd_in/714788/
Жесткий диск 3.5" TOSHIBA DT01ACA300, 3Тб, HDD, SATA III
3 920

Видеокарта
http://www.ulmart.ru/goods/345162/?head=1&from=market_1201_tvr
Gigabyte GV-R797TO-3GD, HD 7970 GHz Edition, 3072МБ, GDDR5, Retail
14 830

Блок питания
http://www.citilink.ru/catalog/parts/powersupply/637794/
AEROCOOL VP-650, 650Вт, 120мм, черный, retail
2070

Куллер на процессор
http://www.ulmart.ru/goods/298478
Cooler Master S400
880

Корпус
http://www.citilink.ru/catalog/parts/pc_cases/cases/644965/
ATX AEROCOOL VS-3 Advance, Midi-Tower, без БП, черный
1 670

Монитор
http://www.citilink.ru/catalog/computer_peripherals/monitors/647748/
BENQ GL2750HM, 27", черный
9 310

Клавиатура и мышь ещё по желанию...
Форум игроделов » Записи участника » Kazerex [18]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг