主题:matlab如何实现游戏中控制的上下左右
flalst
[专家分:0] 发布于 2009-06-28 16:43:00
一般用keyboard时需要压 enter键才可以,如何不用回车就可以直接执行键盘操作,谢谢了
回复列表 (共1个回复)
沙发
alwayslqsl [专家分:10] 发布于 2010-01-20 20:57:00
% 以前我也有编游戏的冲动,后来搁弃了。执行程序后,按上下左右控制,按Ctrl+q退出
function moves
clear;warning off;
fig1=figure('KeyPressFcn',@printfig);
lefts = 400;rights = 405;ups = 400; downs = 405;
quitflag = 0;
function printfig(src,evnt)
evnt
A = zeros(800,800);
if strcmp(evnt.Key(:)','rightarrow')
lefts = lefts + 10;
rights = rights + 10;
end
if strcmp(evnt.Key(:)','leftarrow')
lefts = lefts - 10;
rights = rights - 10;
end
if strcmp(evnt.Key(:)','uparrow')
ups = ups - 10;
downs = downs - 10;
end
if strcmp(evnt.Key(:)','downarrow')
ups = ups + 10;
downs = downs + 10;
end
if length(evnt.Modifier) == 1 & strcmp(evnt.Modifier{:},'control') & evnt.Key == 'q'
quitflag = 1;
end
A(ups:downs,lefts:rights) = 255;
imshow(uint8(255-A));
if quitflag
close(fig1);clear;
end
end
end
我来回复