Суббота, 20 Апреля 2024, 16:17

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Dva_Kota [522]
Результаты поиска
Dva_KotaДата: Четверг, 12 Июля 2012, 10:16 | Сообщение # 41 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Смотря какой компьютер и какие скрипты, но то что они работают медленно - известный факт.

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 12 Июля 2012, 09:15 | Сообщение # 42 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Тут дело не столько в удобстве, сколько в быстродействии. Вызов скриптов в ГМ работает медленнее чем выполнение кода в объектах, а вызов скриптов из скриптов, соответственно, делает выполнение еще медленнее.
В ГМ главное различие между локальными и глобальными переменными в том, что к глобальной можно обратиться всегда (если она задана), а к локальной только если в комнате есть объект, которому принадлежит данная переменная. И локальные переменные могут быть с одинаковыми именами, если они относятся к разным объектам (или экземплярам объектов), а глобальные переменные с одинаковыми именами не допустимы.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Среда, 11 Июля 2012, 12:38 | Сообщение # 43 | Тема: Помогите.
заслуженный участник
Сейчас нет на сайте
Возможно сурфейс слишком большой.

Добавлено (11.07.2012, 12:38)
---------------------------------------------
(Видеокарты не хватает для отображения этого сурфейса)


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Среда, 11 Июля 2012, 12:21 | Сообщение # 44 | Тема: Следы от пуль.
заслуженный участник
Сейчас нет на сайте
Для этого лучше использовать не объекты а частицы. Вот мой пример:
Пример
(делал не для этого вопроса, но из него можно сделать то что тебе нужно)

Как пользоваться частицами хорошо объясняется здесь:
Как работать с частицами


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 11 Июля 2012, 12:22
Dva_KotaДата: Среда, 11 Июля 2012, 10:54 | Сообщение # 45 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
DenDron, я же написал что нужно использовать оператор with, а ты его выбросил (и вообще в твоем вопросе было написано что "пуля" чсоздается при создании объекта А).

Этот код у субмарины? Если да, то так:
Code
if enable_shoot=true  
       {  
           with(instance_create(x,y,obj_torpedo) )
               {  
               speed=5  
               direction=obj_submarine.image_angle// правильно ли я сделал? - здесь, скорее всего, правильно.
               }  
           enable_shoot=0  
           alarm[0]=20  
       }


Ну или как LunarPixel предлагает.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Среда, 11 Июля 2012, 10:51 | Сообщение # 46 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Gefak, ты назвал переменную global.player_health, а обращаешься к ней player_health. обращаться тоже нужно global.player_health

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Среда, 11 Июля 2012, 09:35 | Сообщение # 47 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Gefak, назови переменную по другому, т.к. уже есть встроенная глобальная переменная health (к которой обрщение без global.*).

Добавлено (11.07.2012, 09:35)
---------------------------------------------
DenDron, Это, случайно, не про пулю?
Объект А
Create:

Code
with(instance_create(x,y,obj_B))//создаем объект Б и задаем для него параметры:
     {
     direction = other.direction;//направление движения как у объекта А при создании
     speed = 5;//скорость
     }


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Пятница, 06 Июля 2012, 10:25 | Сообщение # 48 | Тема: Чтобы объект по нажатию кнопки появлялся в центре
заслуженный участник
Сейчас нет на сайте
Только вместо N и M должны быть половина ширины и высоты соответственно.

*Если нажатие пробела происходит не в степе а в событиях нажатия клавиши, то нужно ставить не в событие Keybord (где нарисована просто клавиатура), а в событие Key Press (где нарисована клавиатура с красной стрелочкой) - тогда событие будет выполняться когда происходит нажатие клавиши, а не пока клавиша удерживается.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Понедельник, 02 Июля 2012, 11:27 | Сообщение # 49 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Ты бы выложил весь код движения, чтобы видно было о чем говорим.

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Понедельник, 02 Июля 2012, 10:36 | Сообщение # 50 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Ты в Step изменение скорости ставил? Если да, то, возможно, проблема в этом.

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Среда, 27 Июня 2012, 16:27 | Сообщение # 51 | Тема: Помогите срочно
заслуженный участник
Сейчас нет на сайте
А еще можно так, чтобы не вводить дополнительную переменную:
Code
switch(show_message_ext('Переодеться?','Да','Нет','Не знаю..'))
{
case:1 show_message('Готово'); sprite_index=sprite4;break;
case:2 show_message('Нет, так нет');break;
case:3 show_message('Подумай как следует!');break;  
}


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 27 Июня 2012, 16:27
Dva_KotaДата: Среда, 20 Июня 2012, 16:16 | Сообщение # 52 | Тема: Выбор объекта с последующим отпусканием.
заслуженный участник
Сейчас нет на сайте
Первая проблема, вроде бы, решена, но решение не самой рациональное.
BrightSpot предлагает не самый лучший вариант. Выполнять каждый шаг у 2000 объектов код - не самая лучшая идея. Ведь спрайт меняется только при нажатии клавиши, вот и проверять нужно в этом событии. Я бы изменил код таким образом:

Create какого-то объекта
Code
global.target = false;//сначала ни какой id не записан


Нажатие ЛКМ у родительского объекта для провинций
Code
if (global.target)//если в переменную записан id
     {
     global.target.image_index = 0;
     }

global.target = id//записывает id этого экземпляра (эта провинция выбрана)
image_index = 1;


Нажатие ЛКМ у других игровых объектов
Code
if (global.target)//если в переменную записан id
     {
     global.target.image_index = 0;
     }

global.target =false;//ни какой объект не выбран


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 14 Июня 2012, 11:41 | Сообщение # 53 | Тема: Статичный объект
заслуженный участник
Сейчас нет на сайте
TheFlowOfFun, если так сделать то фактически объект будет оставаться на месте, только спрайт будет рисоваться прикрепленным к виду.

Нужно прикреплять к виду объект таким же способом, каким, скорее всего, прикрепляет автор темы. Только делать это нужно не в Step, а в End Step или в Draw.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 14 Июня 2012, 10:01 | Сообщение # 54 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Notingham, помести в первую комнату объект, у которого в create такой код:
Code

switch(irandom(3))//случайное целое число от 0 до 3
      {
      case 1: room_goto(room1); break;//если 1 то переходим в комнату 1
      case 2: room_goto(room2); break;//если 2 то переходим в комнату 2
      case 3: room_goto(room3); break;//если 3 то переходим в комнату 3
      }
//если 0 то остаемся в комнате 0


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Четверг, 14 Июня 2012, 10:02
Dva_KotaДата: Вторник, 12 Июня 2012, 14:47 | Сообщение # 55 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
при нажатии на объект А задавай глобальной переменной значение true, при нажатии на объект Б - false. При старте комнаты2 проверяй глобальную переменную. Если true - создавай объект А, если false - создавай объект Б.

http://rghost.ru/38619513


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 12 Июня 2012, 14:53
Dva_KotaДата: Пятница, 25 Мая 2012, 10:03 | Сообщение # 56 | Тема: Превращение главного героя в другой предмет
заслуженный участник
Сейчас нет на сайте
Ищи в справке sprite_index

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Вторник, 22 Мая 2012, 17:14 | Сообщение # 57 | Тема: Помогите с созданием одного объекта
заслуженный участник
Сейчас нет на сайте
Тогда лучше так (в Step):
Code
if (keyboard_check(ord("R")) and !instance_exists(o_raketa))  
{
instance_create(100,100,o_raketa);
}


Или так (в событии нажатия клавиши "R"):
Code
if (!instance_exists(o_raketa))  
{
instance_create(100,100,o_raketa);
}


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 12 Апреля 2012, 10:03 | Сообщение # 58 | Тема: Работа со спрайтами
заслуженный участник
Сейчас нет на сайте
Менять спрайт на спрайт с анимацией (постепенно покрывается зелеными точками). В событии конец анимации проверять какой спрайт, если этот спрайт - удалять объект.

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Пятница, 06 Апреля 2012, 09:09 | Сообщение # 59 | Тема: Несколько вопросов о TDS в game maker
заслуженный участник
Сейчас нет на сайте
Пример кода деактивации есть в справке. Ищи функции instance_deactivate_object()

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 05 Апреля 2012, 16:44 | Сообщение # 60 | Тема: Несколько вопросов о TDS в game maker
заслуженный участник
Сейчас нет на сайте
1. можно сделать деактивацию врагов за пределами вида или проверять у врагов расстояние до игрока с помощью distance_to_object().
2. скорость движения задавай в зависимости от расстояния между игроком и прицелом (функция выше). Отскакивание - как в любом примере арканоида.
3. Делай так же как обычное оружие - при ударе создавай невидимую пулю не задавая ей скорость и удаляй ее в следующем шаге (через alarm). Спрайт "пули" можно сделать какой-то особенной формы (например по форме траектории движения ножа/меча).


Новый пример инвентаря! /20.06.2012/

Energy Wars
Форум игроделов » Записи участника » Dva_Kota [522]
Поиск:

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