Среда, 24 Апреля 2024, 17:30

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » ilgamer [234]
Результаты поиска
ilgamerДата: Суббота, 08 Сентября 2012, 10:10 | Сообщение # 41 | Тема: Траектория полета ядра
Needle Games
Сейчас нет на сайте
Code
for(int i=0; i<100; i+=1)
{
     x = V0*cos(mouseAngle)*i-g*i*i/2;
     y = V0*sin(mouseAngle)*i;

     DrawSprite(L"dot.png",x,y);
}


Вот такой код у меня получается если использовать формулы из учебника.

Дело в том, что в учебнике рассматривается создание этого проекта в Delphi, где систему координат преображают в математическую.
Как сделать чтобы траектория отрисовывалась из левого нижнего угла (0,600)?

Заранее спасибо!




Сообщение отредактировал ilgamer - Суббота, 08 Сентября 2012, 10:10
ilgamerДата: Суббота, 08 Сентября 2012, 08:57 | Сообщение # 42 | Тема: WindMill 2D Game Engine
Needle Games
Сейчас нет на сайте
Спасибо. Ждите новых проектов на движке. wink

ilgamerДата: Суббота, 08 Сентября 2012, 07:04 | Сообщение # 43 | Тема: Помогите со скриптом
Needle Games
Сейчас нет на сайте
Посмотри что возвращают
Code
get_open_filename('*.om','')

и
Code
get_open_filename('*.om2','')


Возможно, можно сделать проверку:
Code
result = get_open_filename('*.om','')
result2 = get_open_filename('*.om2','')

if(result){}
else if(result2){}




Сообщение отредактировал ilgamer - Суббота, 08 Сентября 2012, 07:05
ilgamerДата: Суббота, 08 Сентября 2012, 06:53 | Сообщение # 44 | Тема: Помощь: Столкновение со стеной
Needle Games
Сейчас нет на сайте
Короче, обе стены твердые. И суть не в том, чтобы менять их свойства, а в том, чтобы проверять столкновение. Если я Объекту "А" не говорил втыкаться носом в стену 2, то он этого делать не будет, если объекты не твердые. Если они твердые, то он в ней застрянет, ибо назначая это свойство объекту, вы обрекаете его подчиняться законам "псевдо-" физики.

Короче, лови работающий пример:
Клац

Я убрал твои спрайты потому что ни были ужасны. smile
Код у объектов практически одинаковый. Единственное что изменилось для объекта "Б" это столкновение с другой стеной и проверка клавиш: мы проверяем нажатие с трелок (vk_left, vk_right и т.д.).
Что тебе нужно сделать:

Во-первых, поставить свои спрайты. В коде, в структуре Switch изменить смену спрайтов на необходимые.
Во-вторых, изменить спрайт при столкновении со стеной (равносильно остановке). Сделай это в столкновении со стеной и стеной 1/2.
Там есть строка:
Code
sprite_index = spr_stand;


В общем-то все. Если есть вопросы, спрашивай!
И удачи!




Сообщение отредактировал ilgamer - Суббота, 08 Сентября 2012, 07:00
ilgamerДата: Суббота, 08 Сентября 2012, 06:38 | Сообщение # 45 | Тема: Дайте пример 2D полета самолета
Needle Games
Сейчас нет на сайте
overbolt, есть такое свойство у спрайтов как альфа-канал image_alpha.
Тебе необходимо сделать так:

В Create:
Code
a = 0;
image_alpha=0;


В Step:
Code
a += 1;
if(a<100)
{
    image_alpha+=0.01; //Прибавляем число к прозрачности (1 - абсолютно непрозрачный спрайт).
}


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

Например:

1/100 = 0.01

или

1/1000 = 0.001

Где 100 и 1000 - количество шагов твоего Fade'a.

Удачи с игрой!




Сообщение отредактировал ilgamer - Суббота, 08 Сентября 2012, 06:39
ilgamerДата: Четверг, 06 Сентября 2012, 09:34 | Сообщение # 46 | Тема: Помощь: Столкновение со стеной
Needle Games
Сейчас нет на сайте
я все еще делаю тебе рабочий пример, 123dima321. Шрифт изменил чтобы не читал, поэтому не ругайтесь на него, я в каком-то роде виноват.
Короче, движение реализовал, не застревают и т.д. но уже забыл в чем были баги, поэтому как проверю код и программу в целом, сразу дам с четким описанием. Мне когда-то не помогали. -_-


ilgamerДата: Среда, 05 Сентября 2012, 06:35 | Сообщение # 47 | Тема: Дайте пример 2D полета самолета
Needle Games
Сейчас нет на сайте
if(x>100) then canFlyBack=false;

И в Create не забудь ее упомянуть как canFlyBack=true;




Сообщение отредактировал ilgamer - Среда, 05 Сентября 2012, 06:36
ilgamerДата: Вторник, 04 Сентября 2012, 11:23 | Сообщение # 48 | Тема: Помощь: Столкновение со стеной
Needle Games
Сейчас нет на сайте
Как сказал hero564: "Не в том направлении мыслишь". Придумай обходной путь, ибо зависнешь на этом!

Исправляю...
Лови:
Скачать

Короче, сделал только для A. Хорошо закомментировал. Думаю с Б сам справишься.
И еще, я случайно сделал проверку для стен 1, а не для 2. Измени их в комнате или поменяй именами эти стены

Всегда есть обходные пути!

P.S.
Бросай делать игры кнопками. Код позволяет делать больше. Ты потому и завис.

И еще...
Если я правильно представил себе игру которую ты хочешь сделать, то предлагаю запрещать двигать героя пока он не столкнулся со стеной.

Немного дополнишь мой код...

Code
if(keyboard_check(ord('W')))

заменишь на
Code
if(keyboard_check(ord('W')) && place_meeting(x,y+1,obj_wall1))


И так далее для каждого нажатия проверяешь, есть ли стена в нужном направлении или нет:

Code
else if(keyboard_check(ord('A')) && place_meeting(x+1,y,obj_wall1))

Code
else if(keyboard_check(ord('S')) && place_meeting(x,y-1,obj_wall1))

Code
else if(keyboard_check(ord('D')) && place_meeting(x-1,y,obj_wall1))


P.P.S.
Если тебе нужно менять спрайт, то используй sprite_index;
Как в Create объекта A, только поставь в Step там где нужно.

То есть, когда нажата W, нужно проверять, есть ли стена сверху:
Code
if (!place_meeting(x-1,y,obj_wall1)) then sprite_index = spr_A_left;

То есть стены нет, и мы меняем спрайт на нужный. А в конце Step добавь строку которая будет менять спрайт на "Герой стоит":
Code
sprite_index = spr_A;


Удачи с игрой!




Сообщение отредактировал ilgamer - Вторник, 04 Сентября 2012, 12:29
ilgamerДата: Понедельник, 03 Сентября 2012, 07:50 | Сообщение # 49 | Тема: WindMill 2D Game Engine
Needle Games
Сейчас нет на сайте
Подскажите как вывести значение переменной с типом int или float?

ilgamerДата: Воскресенье, 02 Сентября 2012, 08:19 | Сообщение # 50 | Тема: Уравнение увеличения скорости объекта
Needle Games
Сейчас нет на сайте
Спасибо за помощь. Обоим плюсану.

ilgamerДата: Пятница, 31 Августа 2012, 16:53 | Сообщение # 51 | Тема: Помощь: Столкновение со стеной
Needle Games
Сейчас нет на сайте
попробуй:

move_contact_solid(direction,0);
x = xprevious;
y=yprevious;


ilgamerДата: Пятница, 31 Августа 2012, 15:12 | Сообщение # 52 | Тема: ID ближайшего объекта
Needle Games
Сейчас нет на сайте
Спасибо, BrightSpot!



Сообщение отредактировал ilgamer - Пятница, 31 Августа 2012, 15:13
ilgamerДата: Пятница, 31 Августа 2012, 14:29 | Сообщение # 53 | Тема: ID ближайшего объекта
Needle Games
Сейчас нет на сайте
Как узнать ID ближайшей копии объекта object? (Ближайшей к объекту player)



Сообщение отредактировал ilgamer - Пятница, 31 Августа 2012, 14:29
ilgamerДата: Пятница, 31 Августа 2012, 14:27 | Сообщение # 54 | Тема: «Только 2D! Только Хардкор!»
Needle Games
Сейчас нет на сайте
Таким голосом только детей пугать.

ilgamerДата: Пятница, 31 Августа 2012, 14:26 | Сообщение # 55 | Тема: Помощь: Столкновение со стеной
Needle Games
Сейчас нет на сайте
Обе стены должны быть не твердыми, но в столкновение с нужной для каждого героя пишете:
move_contact_solid(direction,speed);
speed=0;


ilgamerДата: Среда, 29 Августа 2012, 06:20 | Сообщение # 56 | Тема: Уравнение увеличения скорости объекта
Needle Games
Сейчас нет на сайте
Необходимо вывести некую формулу или закономерность чтобы уравнение в котором одно число стремилось к нулю, увеличивалось.

То есть, у меня, при сближении с гг, монеты притягиваются быстрее в зависимости от расстояния до него. Чем больше, тем медленнее.
Прошу помочь!




Сообщение отредактировал ilgamer - Среда, 29 Августа 2012, 06:20
ilgamerДата: Среда, 29 Августа 2012, 06:08 | Сообщение # 57 | Тема: Деление числа без остатка/проверка на простоту
Needle Games
Сейчас нет на сайте
Ок, saladin. Спасиб!

ilgamerДата: Вторник, 28 Августа 2012, 16:08 | Сообщение # 58 | Тема: Деление числа без остатка/проверка на простоту
Needle Games
Сейчас нет на сайте
Saladin, спасибо за разиндусирование кода smile
Как сразу в голову не пришло, понятий не имею. В такие дебри полез.
Лови +.


ilgamerДата: Вторник, 28 Августа 2012, 15:22 | Сообщение # 59 | Тема: Деление числа без остатка/проверка на простоту
Needle Games
Сейчас нет на сайте
Maxaon, LetsOffBrains, спасибо. К сожалению проблему не решил. Может подскажете?

Мне нужно сделать так:

Я хожу по комнате, при нажатии на клавишу создается объект, прикрепленный к сетке по 64х64 пикселей.
То есть, мне нужно получать ближайшею такую ячейку к игроку. Пока проблемы.

P.S.
Тем не менее, за помощь обоим плюсану.




Сообщение отредактировал ilgamer - Вторник, 28 Августа 2012, 15:22
ilgamerДата: Вторник, 28 Августа 2012, 13:59 | Сообщение # 60 | Тема: Деление числа без остатка/проверка на простоту
Needle Games
Сейчас нет на сайте
Необходимо узнать, является ли число, получаемое таким образом:
Code
a = b mod c

натуральным числом.

Подскажите!


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

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