#1 14.01.06 18:31
Assembler помогите.
Ищу код ассемблера, который может сделать след.: два действия одновременно делать на C++, т.е хочу сделать так чтобы например и объект двигался и в тоже время производил еще какое-либо действие, т.е. если я жму на клаве стрелку вверх и стрелку влево объект двигается как вверх так и влево. надеюсь вы понимаете
Offline
#6 15.01.06 12:25
Re: Assembler помогите.
Блин, ну вот у всех это на C получается сделать... у тебя нет... к чемубы это???
Неужто ты думаешь что щас ктонибудь такие вещи асмовыми вставками пишет?
Проверяй код нажатой клавиши в каждом gameloop. Причем проверяй до опустошения буфера клавиатуры. При нажатии клавиши всегда отсылается ее код.
Offline
#8 15.01.06 13:23
Re: Assembler помогите.
Rybak написал(а):
смотрите: нажимаю клавишу, при нажатии вхожу в цикл!!! а если две нажму, она по-любому сначала в один цикл войдет а потом в другой так!
нет обрабатывай событийно
нажатие и отжатие клавиши
игра у тебя будет идти тока в одном цикле, и в зависимости от того какие клавиши нажаты ты двигаешь игру!
Offline
#9 15.01.06 20:24
Re: Assembler помогите.
Грубо говоря - тебе вообще перпендикулярно что у тебя нажато.
У тебя есть MainGameLoop в нутри которого ты на каждой итерации проверяешь состояние кнопок.
к примеру я делал это примерно так:
while ( SDL::SDL_PollEvent( &event ) )
{
switch ( event.type )
{
case SDL::SDL_MOUSEMOTION:
if ( event.motion.xrel > 25 || event.motion.yrel > 25 ||
event.motion.xrel < -25 || event.motion.yrel < -25 ) return false;
break;
case SDL::SDL_KEYDOWN:
case SDL::SDL_MOUSEBUTTONDOWN:
return false;
break;
}
}
Ну и соответсвенно тут добавляешь любые кнопки.
Но понятно что это сделано средвствами SDL, тебеже надо сделать это средствами стандартными вот и все.
Offline

