Drawing on the screen, without being visible

Started by SSH, Tue 15/11/2005 16:39:34

Previous topic - Next topic

SSH

TO try and make a star-wars scroller module, I was trying to use RawPrintMessage and DynamicSprite.MakeFromBackground to grab the text as a sprite for it to be resized as it scrolls away. Now, this works, but unfortunately the text does flash up on the screen briefly, even if I do it in BeforeFadein. I was trying to think of a nice way to write on the screen invisibly, but can't: anyone got any ideas? The only thing I can think of is a giant black GUI covering the whole screen (or overlay, I suppose) but that sucks, really.
12

GarageGothic

Create a background double the width of the screen and rawdraw to the off-screen part. You will need to lock the viewport to avoid the screen scrolling if you have characters on the screen at the same time.

SSH

Good idea, but I'd like to make it a module, and that idea relies on complicated instructions for the user...

12

Scummbuddy

- Oh great, I'm stuck in colonial times, tentacles are taking over the world, and now the toilets backing up.
- No, I mean it's really STUCK. Like adventure-game stuck.
-Hoagie from DOTT

SSH

Yeah, but you'd still have to tell people that they needed to make any backgrounds they wanted to use behind the scroller with a huge black bit off the side... I'd rather use an overlay if it comes to that.
12

Pumaman

Can you not simply do:

RawSaveScreen
RawPrintMessage
DynamicSprite.CreateFromBAckground
RawRestoreScreen

all in one go .. that way, nothing should appear visibly to the user.

SSH

That's what I tried, pretty much exactly, and it flashed up the stuff briefly... :-(

12

SSH

And yet today it doesn't seem to do that at all...

'pooky!

Oh well, if it happens again, I'll use an overlay of the background captured before drawing to hide it all...
12

Pumaman

I can't see how that would flash anything up briefly -- if there are no Wait calls or blocking functions in there, it should never actually change the screen/

SMF spam blocked by CleanTalk