Calculator Community > General Calculator Help

A Resolve For a New Standard

(1/3) > >>

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