Пятница, 27 Декабря 2024, 12:12

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
TranscedДата: Четверг, 24 Октября 2013, 20:55 | Сообщение # 4521
TransceD = Game Maker
Сейчас нет на сайте
как нужно настроить вид что бы тот объект за которым идет слежка был всегда с лева размер вида 640х480
adast12Дата: Суббота, 26 Октября 2013, 20:16 | Сообщение # 4522
почетный гость
Сейчас нет на сайте
Как сделать сохранение всего одной переменной money в game maker через ini?
При самом первом старте игры у тебя 0 денег ты собираешь деньги.
Как сделать чтобы при выходе, значение переменной money записалось в ini файл.
А при последующем запуске считывалось значение переменной money из ini файла.
GameMixДата: Суббота, 26 Октября 2013, 20:29 | Сообщение # 4523
старожил
Сейчас нет на сайте
Transced, в событие EndStep (либо Draw) объекта, за которым нужно следить:
Код
view_xview[0] = x; // левый край вида всегда в позиции X объекта
view_yview[0] = y - view_hview[0] / 2; // объект по центру экрана по оси Y

0 - номер вида, который следит за объектом.
adast12, прочти.


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал GameMix - Суббота, 26 Октября 2013, 20:30
krapДата: Воскресенье, 03 Ноября 2013, 08:47 | Сообщение # 4524
почетный гость
Сейчас нет на сайте
Использую библиотеку 39dll
У меня проблема с удалением сокета из листа
Код Step:
Код

var client, msg, c_client;
var action;
client = tcpaccept(listen, 1);

if (client)
{
       ds_list_add(client_list, client);
}

for(a = 0; a != ds_list_size(client_list); a += 1)
{
       c_client = ds_list_find_value(client_list, a);
       msg = receivemessage(c_client)
       if (msg>0)
       {
           action = readbyte(); byte += buffsize();
           switch(action)
           {
               case EXIT:
               closesocket(c_client);
               ds_list_delete(client_list, a);
               break;
                  
               default:
               break;
           }
       }
}

Пробывал добавить код на проверку подключения в цикл:
Код

if (!tcpconnected(c_client))
{
closesocket(c_client);
ds_list_delete(list_client, a);
}

Но он также не работает.
В клиенте при выходе отправляется байт EXIT, сервер его принимает, но
не удаляет из листа
Вообщем прошу помощи)

Добавлено (03.11.2013, 08:44)
---------------------------------------------
Сейчас посмотрел на функцию writebyte оказалось что там значения от 0 до 255,
у меня EXIT = -1. Думал ошибка в этом, исправил на ноль
Теперь после закрытия программы клиента сервер намертво начинает зависать
Думаю проблема в цикле. Предполагаю, что после удаления сокета из листа цикл зацикливается...
Ваши идеи

Добавлено (03.11.2013, 08:47)
---------------------------------------------
Так и есть, цикл зацикливался так как проходился по нулевому листу.
Добавил операцию exit после функции ds_list_delete(list_client, a);


Сообщение отредактировал krap - Воскресенье, 03 Ноября 2013, 08:51
MASTER-CraftДата: Понедельник, 04 Ноября 2013, 16:51 | Сообщение # 4525
уже был
Сейчас нет на сайте
Я Новичок В Игроделе, Поэтому нужна Помощь во многом, up И так! Я делаю Игру ,тип Рпг ТДС, ну получается неплохо, и так, как сделать Аи?я пробовал слинять с другой игры, но зомби как стоял так и стоит suspect Зато я сделал предметы, худ, (все естественно слинял)Помогите в Аи...
AnOmalyWolfДата: Понедельник, 04 Ноября 2013, 18:56 | Сообщение # 4526
частый гость
Сейчас нет на сайте
Дамы и господа... В одном из уровней моей игры, нужно создать некий скроллер... Но... Не простой. Мне не нужно, чтобы враги рандомно вылетали оттуда и отсюда. Мне нужно сделать скроллер где каждый вылетающий из-за экрана враг, вылетает именно тогда, когда ему нужно вылететь. Кто-нибудь подскажет, хотя бы на словах, как это можно реализовать... А то у меня уже идеи кончились. =)))) Всем заранее спасибо. =)))
roguelikerДата: Понедельник, 04 Ноября 2013, 19:00 | Сообщение # 4527
частый гость
Сейчас нет на сайте
Враг вылетает когда ему надо вылететь, человек умирает когда ему надо умереть, я не понимаю такие вопросы всегда, убийца убивает когда ему надо убивать...
AnOmalyWolfДата: Понедельник, 04 Ноября 2013, 19:08 | Сообщение # 4528
частый гость
Сейчас нет на сайте
В общем, если на 5-ой секунде должен вылететь красный кораблик по центру комнаты, то он вылетет именно тогда и именно там, а не рандомно. =)))
В пример.... Battletoads... Когда они на мотоциклах едут... Стены образовались всегда одинаково. =)))
roguelikerДата: Понедельник, 04 Ноября 2013, 19:30 | Сообщение # 4529
частый гость
Сейчас нет на сайте
В пример беру комнату 640х480.
В create у создавателю
Код
alarm[0]=room_speed*5

В аларм:
Код
instance_create(x,y,красны кораблик)
alarm[0]=room_speed*5
AnOmalyWolfДата: Вторник, 05 Ноября 2013, 00:52 | Сообщение # 4530
частый гость
Сейчас нет на сайте
rogueliker, Достаточно просто. Почти полностью то, что мне нужно было. Немного покумекаю ещё и будет работать. Спасибо. Лови + biggrin
krapДата: Вторник, 05 Ноября 2013, 05:17 | Сообщение # 4531
почетный гость
Сейчас нет на сайте
Такой вопрос у меня есть некий обьект А который контроллирует все обьекты, как удалить определенный обьект В
из обьекта А? При этом не прибегая к программированию обьекта В?

Добавлено (05.11.2013, 04:22)
---------------------------------------------
Вспомнил, что есть функция удаления обьекта object_delete(obj) но пока ее не испытывал
и не знаю принцип её действия. Потому использовать ее пока стремно)
Допустим я делают так:
var obj = instance_create(0,0,OBJ);
object_delete(obj);
в справке написано: "Убедитесь, что никакие экземпляры объекта не существуют в любой из комнат".
Вопрос: что это может значить?

Добавлено (05.11.2013, 04:56)
---------------------------------------------
Попробывал сделать пример описанный выше, но он не работает
Ошибка "невозможно удалить несуществующий обьект"
Как я понял функция создания возвращает индетификатор обьекта, а
функция удаления просит индекс обьекта.
Кто знает что это? Как узнать индекс обьекта? И в чем его отличие?

Добавлено (05.11.2013, 05:17)
---------------------------------------------
Все я понял!)
Кароче, суть в том что instance_create, object_index и другие методы получения индекса не будут работать
т.к. они возвращают ИНДЕТИФИКАТОРЫ!!!
Так вот, поясняю, чтобы узнать индекс надо использовать не стандартный метод создания обьекта
Для этого существует функция object_add, вот она то и возвращает тот самый индекс!
Кароче, из этого выходит правило: любое изменение обьекта как ресурса невозможно, если он создан стандартным образом. Если вы ипользуете его как ресурс(удаление, изменение и пр.) то и создавать его надо как РЕСУРС!



Сообщение отредактировал krap - Вторник, 05 Ноября 2013, 04:22
AnOmalyWolfДата: Вторник, 05 Ноября 2013, 20:48 | Сообщение # 4532
частый гость
Сейчас нет на сайте
Доброго всем времени суток. У меня такой вопрос: Есть ли в GM такая функция, которая позволила бы мне найти все объекты (вывести список объектов) в которых, например, содержится строка //globol.GM=13 или, что то в этом роде.
Поясню. Я где то напортачил с глобальной переменной. В каком то объекте она принимает не нужное мне значение. Ну и разумеется, я бы хотел исправить это значение. Всем спасибо. happy
krapДата: Вторник, 05 Ноября 2013, 21:31 | Сообщение # 4533
почетный гость
Сейчас нет на сайте
AnOmalyWolf, используй функцию variable_global_exists(name) где name название твоей переменной
Эта функция возвращает существует ли такая глобальная переменная (1 или 0)
variable_global_get(name) - а вот эта функция возвращает значение твоей глобальной переменной

Добавлено (05.11.2013, 21:31)
---------------------------------------------
Кстати, если эти функции не работают попробуй поставь name в кавычки вот так: "name"
Я сам эти функции пока еще не испытывал, но надеюсь они помогут smile


Сообщение отредактировал krap - Вторник, 05 Ноября 2013, 21:32
AnOmalyWolfДата: Среда, 06 Ноября 2013, 04:13 | Сообщение # 4534
частый гость
Сейчас нет на сайте
krap, Вау, вау... Спасибо. Эта ф-ия работает. biggrin
variable_global_exists(ENH) вернул 1...
variable_global_get(ENH) вернул 0... А значение должно быть 2... wink
Спасибо большое. Лови +. biggrin
AkopovДата: Четверг, 07 Ноября 2013, 04:13 | Сообщение # 4535
заслуженный участник
Сейчас нет на сайте
Код
gravity_direction=270
      if place_free(x,y+1) {gravity=1}
      else {gravity=0}

при написании этого кода ожидал, что столкнувшись с твёрдым объектом объект остановится. но он пролетает дальше. оба объекта твёрдые


Сообщение отредактировал Akopov - Четверг, 07 Ноября 2013, 04:50
AnOmalyWolfДата: Четверг, 07 Ноября 2013, 04:53 | Сообщение # 4536
частый гость
Сейчас нет на сайте
Akopov, Попробуй так: Оба объекта твёрдые. У одного из них, который и должен упасть на второй и остановиться в 'столкновении с объектом' написать код:
Код
if other.y>y && !place_free(x,y+vspeed){
move_contact_solid(270,8);
vspeed=0;
gravity=0;}
if other.y<y && !place_free(x,y+vspeed){
move_contact_solid(90,8);
vspeed=0;}

В этом случае он будет блокироваться как сверху, так и снизу. =)))


Сообщение отредактировал AnOmalyWolf - Четверг, 07 Ноября 2013, 04:58
adast12Дата: Четверг, 07 Ноября 2013, 14:51 | Сообщение # 4537
почетный гость
Сейчас нет на сайте
Люди как задать скорость фону.
Через настройку фона нельзя так как скорость фона должна быть -=globalspeed.
Как сделать это кодом?


Сообщение отредактировал adast12 - Четверг, 07 Ноября 2013, 15:00
AnOmalyWolfДата: Четверг, 07 Ноября 2013, 15:41 | Сообщение # 4538
частый гость
Сейчас нет на сайте
adast12, Тебе вот эти ф-ции могут помочь:
Код
background_hspeed[0..7] Содержит скорость горизонтальной прокрутки заднего фона (в пикселях за шаг).
background_vspeed[0..7] Содержит скорость вертикальной прокрутки заднего фона (в пикселях за шаг).

rolleyes


Сообщение отредактировал AnOmalyWolf - Четверг, 07 Ноября 2013, 15:44
adast12Дата: Четверг, 07 Ноября 2013, 21:25 | Сообщение # 4539
почетный гость
Сейчас нет на сайте
Как импортировать скрипт в game maker studio?
t111Дата: Воскресенье, 10 Ноября 2013, 17:02 | Сообщение # 4540
почетный гость
Сейчас нет на сайте
помогите, как сделать чтобы курсор мыши соприкасаясь со стеной, останавливался и не мог зайти за эту стену как бы я не пытался! Как это сделать?

как известно, встречают по
одежке, а провожают
uninstall'ом"

Поиск:

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