GRREAD问题
当我决定为AutoCAD制作Pong时,我意识到我需要一种以前没有使用过的用户输入的动态。在四处窥探之后,我发现了GRREAD函数,它可以读取各种键盘和鼠标输入。直到今天,我仍然不知道如何让它做我想做的事,但我做到了。我的第一个问题是关于GRREAD和ESC的LISP,我正在开发,仍处于思考阶段。通常情况下,当您混合ESC时,您会立即取消正在处理的任何函数,然后返回提示。凡是做了一半的事,要么就没有做,要么就是做了一半。这当然是一个问题,主要是如果你重新设置了很多系统变量,并且你想把它们放回去,即使你的函数出了问题,你需要退出。所以我想知道,GRREAD是否可以捕获ESC,而不是退出LISP,而是将ESC作为通用输入读取,就像任何其他击键一样?或者,由于它可能会被用来转义LISP,我会在自定义错误函数中找到答案吗?
我的下一个问题是针对我的游戏的。我已经完成了Pong和Breakout,接下来我想做一个侧滚或多人RPG(缓慢但肯定会扼杀我办公室的制作),但我在调整GRREAD以持续接受鼠标和键盘输入时遇到了问题。我能找到的唯一两种方法是,鼠标是否正在积极移动,或者,每次通过循环时,我都会对图形进行完全重新生成。由于游戏可能变得相当复杂,并且确实依赖于活跃的用户输入,因此每次通过非常、非常快速的计算循环时,即使有一秒钟的延迟也会变得明显。有没有办法让GRREAD不停顿地接受键盘和鼠标输入?
谢谢,如果你愿意,我会发布我的突破代码和相关文件。这真的很有趣,你可以用记事本创建自己的关卡! 如果按下esc,可以使用自定义错误函数重置所有要重置的变量。我没有使用grread函数,因此我的输入非常有限 这里有一些关于使用grread捕捉esc键的信息:
http://www.theswamp.org/index.php?topic=27900.msg334940#msg334940 你可以用grread做很多事情,但你不应该真的需要“混合esc”来退出函数。。。
错误处理程序可以重置变量,但通过巧妙的循环,您可以避免“混搭Esc”。。。。 谢谢你,罗恩,这提供了很多见解^
是的,李,不应该有理由退出一个函数,但人类的思维方式不像计算机。这里的大多数人都有一个非常破旧的ESC键,因为他们用它来取消诸如DDEDIT、多段线/直线、复制/圆角多重等功能,以及需要重新启动的功能。这是不合适的,但速度要快得多,通常情况下,这是完全可以的。我在编码时总是考虑心理学,因为最终用户毕竟是有血有肉的 你被解雇了!哈哈,顺便说一句,我做了一个Lisp程序的智囊团属性Lisp程序。。。有点
哈哈,这是什么。。。Lisp程序的比赛P
对或多或少除了我是比赛中的独腿选手。他比我更有经验。他教会了我所知道的一切。。。几乎 比赛结束了。中午用橡皮筋。10步。
哈哈
页:
[1]