Am 22.12.2012 um 22:08 schrieb Dilwyn Jones:

>> First: Merry Christmas to you and everyone else on the list!
> Thank you!
> 
>> To your question:
>> Why is it that you are trying to keep the RDPT timeout short? It should be
>> as /long/ as possible, because the PTR environment is much better at drawing
>> the mouse pointer at current mouse coordinates than your program, obviously.
> It is because there is a constant animation of the jack-in-the-boxes going 
> on. 13 of them of which about 4 or 5 are active at any one time. The jack in 
> the boxes are 48x48 pixel which animate smoothly out of their boxes, 
> scrolling up 1 pixel at a time, and replaced with another random one when hit 
> successfully. This is done using a 48 WSARS commands to display increasing 
> numbers of jacks as they pop up out of their boxes.

Ah. Got it. You want "Background Animation". This will only work if you can 
keep the time spent in the animation significantly lower than the time spent in 
the RDPT. 10-20 / 1 would work with only a reasonable amount of flicker. (And 
from what you're writing, this doesn't seem possible.)

> 
> It would not be possible to do the animation if the TVEC gave more time to 
> RDPT.
> 
> It appears not to be possible to keep the pointer on screen when not in a 
> RDPT or MCALL or MCALLT command.

Yes, that is true. And that also is the reason why RDPT in Basic has a 
significant overhead, and thus you want to stay in there as long as possible.
 
> 
>> That is: Your program will run fast and smooth if you stay in the rdpt call 
>> as long as possible 

> The other possibility perhaps is not to rely on the system pointer at all, 
> but rather to read mouse movements horizontally and vertically and use those 
> to control my targetting sprite. A bit like you would use cursor keys to 
> control a non-pointer game. This is why I thought that if I make the system 
> pointer invisible in some way and keep my own pointer on-screen at the same 
> location it would flicker less.

Yes. A 1x1 transparent sprite should do the trick. And you probably don't want 
to use RDPT at all when taking that route. You can get the current pointer 
position without paying the RDPT overhead at all in a continuous loop like here:
http://qlheaven.blogspot.de/2009/04/did-you-know.html

> 
> There must be a simpler solution to this :-(
> 
> I’ll send you more details privately so you can see what I am trying to 
> achieve.
> 
> Dilwyn
> _______________________________________________
> QL-Users Mailing List
> http://www.q-v-d.demon.co.uk/smsqe.htm

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to