我的对象是已经在屏幕上的像素,当用户点击屏幕上的任何位置时,像素将移动到该位置,像素的移动应显示它表示像动画我用汇编语言制作这个但是问题是像素未显示动画。它只从一个地方移动到点击点,但不显示动画 我的代码是:
.model small
.stack 100h
.code
main proc
;select of vedio mode
mov ah,0
mov Al,4
int 10h
;mouse check
mov ax,0
int 33h
;show mouse
mov ax,1
int 33h
MOUSLOOP:
;get click information
MOV AX,5
INT 33h
CMP aX,1
JE MOUSLOOP
;writ pixel at click position
mov ah,0ch
mov al,01
inc cx
inc dx
int 10h
mov al,0
int 10h
JMP MOUSLOOP
;screen stay
mov ah,01
int 21h
;return to text mode
mov ah,0
mov al,3
int 10h
;exit
mov ah,4ch
int 21h
main endp
end main
请帮助我为动画做什么,代码应该是汇编语言。
答案 0 :(得分:0)
我是新人所以我没有意见留言,所以我需要留下这个答案。
我认为你的代码是阻塞的,直到你从鼠标按钮输入。尝试更新循环中的位置:
;get click information
MOV AX,5
INT 33h
CMP aX,1
JE MOUSLOOP
否则你会坚持等待按钮点击而不做任何事情来更新光标的位置。
另外,你的动画是什么意思?您是否希望光标跟随鼠标位置,您希望光标本身是动画吗,您想要两者吗,还是动画与光标和鼠标位置完全无关?
我假设您希望当前光标位置为从其所在位置到点击位置的移动设置动画。我认为你可以使用int 10和光标位置坐标,删除光标并在新位置重绘。 伪代码:
while dx is not equal to current click position:
mov ax, 0
int 33h
mov ax, 4
mov dx, column
mov cx, row
int 33h
mov ax, 2
int 33h
我认为从逻辑上看它应该与此相似。