Input and Print in Graphic Window?
Blitz3D Forums/Blitz3D Beginners Area/Input and Print in Graphic Window?
| ||
Hi, when I use the "Print" or "Input" command within a graphic window, I'll eventually end up having all the user prompts at the bottom of the screen, even if I use the "Cls" command. I know that I could just use the "Text" command instead and also I could write my own input function. However, I was wondering, if there is a way to reset the prompts to the top of the screen. |
| ||
The Locate command does this. |
| ||
Hi Floyd, thanks a lot! That works fine; couldn't find it in the command reference. Do you know if there is a better reference somewhere? |
| ||
you could go to your account and see if you have the latest update or click on tha appropriate tab - 3D or blitz+ - at the top of the page and look at the online docs |
| ||
I find it better to have a routine to read key inputs, convert this to ascii code and print that to the desired place using Text commands. A fair bit more work involved, but it does allow for animations to continue etc. or mouseclicks to be read whilst inputting... sorry - i just pulled this from a project I have been working on, so will need to be adjusted to suit your requirements (It doesn't allow certain character), but if it helps: [code] .entry done=0 Repeat psx=Len(ent$) Delay 100 key=GetKey() If key>122 Then key=0 If key<13 And key<>8 Then key=0 If key>0 PlaySound click If key>96 And key<123 Then key=key-32 If key<48 And key>32 Then key=32 If key>57 And key<65 Then key=32 If key=8 And Len(ent$)>0 psx=Len(ent$) psx=psx-1 ent$=Left$(ent$,psx) EndIf If key=13 And psx>0 Then done=1 If key>47 And key<91 ent$=ent$+Chr$(key) psx=psx+1 EndIf If key=32 ent$=ent$+Chr$(key) psx=psx+1 EndIf EndIf Gosub drawscreen a$=ent$ txtposdwn=700 txtposrgt=200 colred=250 colgrn=50 colBlu=50 font=digit Gosub quickmessage Flip Until done=1 Return [/quote] |