Calculator Community > General Calculator Help
A Resolve For a New Standard
mdjenkins86:
First, I want to congradulate all of you on a job well done. I have seen and read new concepts that push the boundary of our art. Each of us has trully push the Basic language to it limits. If you can make a function mapper in Basic, you are a pro.
But alas I have resolved to challenge myslef to expand the limits of my potential for the sake of story telling. I am trully inspire by the mappers I have seen. I am especially proud to observe the brillant utilization of Output (The honest blew me away. I didn't know that was possible, but a mapper using output funtion is really quite interesting to a 89 programmer like myself.) I trully believe that I have made the fasters mapper in pure 89 Basic but found that it still took about 1 second to redraw the entire screen. This is what inspired me to create mapit2 a C program that maps the screen in about .1 seconds and is nearly fast enough to support 4 direction screen scrolling.
This is my problem:
My current mapper draws a screen. Then when the user walks off of the screen, the screen fades out, the map is redrawn and the screen fades back in. This process roughly takes about 1 second and isn't slow by any means.
But what I want to do is have the screen scroll as the user moves up, down, left or right. I don't want to have to redraw every time the character moves off screen. I want to keep the character relatively in the center of the calculator screen at all time unless they reach a map boundary.
I want to draw the entire map to a big scructure, which would be the entire map and then move that scructure when the character moves. Does anyone know what I am getting at. I have an idea about how this would be done, but I could use input.
DJ Omnimaga:
hmm so9und interesting. I dont know how you could get the character stay in the center of the screen, but on the 83+ we have an asm lib that allow us to scroll a desired amou8nt of pixel, then we just draw the new line of sprites (from the map) in the blank space. Thats a pretty old method on the 83+ but it's still efficient. I dont know if its what you want tho :???:
mdjenkins86:
That was initially my first idea, but it is just way too low level for me. What I want to do is just move a picture around in space. I need to fiqure out how to move the picture past 0,0 and into the negative.
arti:
You're talking about smooth/tile-by-tile scrolling.
A couple of months ago I made a slow but working tile-by-tile scroller in BASIC89 (I thought it was cool back then, but now I see how slow it is, disgusting :dang:):
The way I do it is you save in a pic part of the screen, replace the saved pic on the screen x pixels to the left, and then on the empty space on right you call the new row of tiles from the matrix. And it's slow as hell.
I tried to mimic the same thing in C, with BitmapGet/Put, but it's almost as slow as it is in BASIC! (however, the map is full screen not 4 by 5, but the laggy effect is unbearable).
The way the pros do it is they draw everything to buffers and then copy the buffer to the lcd memory, (or so I gather), but I didn't have the time or patience to figure that out. :(
dysfunction:
Have you guys seen this http://www.ticalc.org/images/news/1999-11-07-zelda.gif?
Looks like a damn good mapper.
Navigation
[0] Message Index
[#] Next page
Go to full version