Author |
Message |
Diablo117
|
Posted: Fri Jun 05, 2009 12:04 am Post subject: Moving the screen |
|
|
What is it you are trying to achieve?
Moving the screen as my character moves in a 2D side scrolling shooter
What is the problem you are having?
It..doesnt move?
Please specify what version of Turing you are using
4.0.5
Description: |
|
Download |
Filename: |
Turing Halo.zip |
Filesize: |
28.45 KB |
Downloaded: |
77 Time(s) |
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
shoobyman
|
Posted: Fri Jun 05, 2009 12:42 am Post subject: Re: Moving the screen |
|
|
Well, your not going to be moving the screen. Instead, every background object will need to have an x and y location variable, and when u want the illusion of a moving screen, you just move the background scenery by changing the x and y variables (uniformly)
|
|
|
|
|
|
saltpro15
|
Posted: Fri Jun 05, 2009 8:41 am Post subject: RE:Moving the screen |
|
|
I think the proper name for it is blitting. Like shoobyman said, you are going to need x and y position variables and use them to move your background.
|
|
|
|
|
|
Diablo117
|
Posted: Fri Jun 05, 2009 8:00 pm Post subject: Re: Moving the screen |
|
|
Alright, so for something like this, I would create "spawn points" for my enemy objects to appear in every once in a while, and they would move to the left as required. When the player is at a certain area(past half-way of the screen) then all the objects move an additional position to the left?
|
|
|
|
|
|
saltpro15
|
Posted: Fri Jun 05, 2009 8:17 pm Post subject: RE:Moving the screen |
|
|
that would work yes, as long as you remember to repeat your background so you don't have whitespace
|
|
|
|
|
|
Diablo117
|
Posted: Fri Jun 05, 2009 10:19 pm Post subject: Re: Moving the screen |
|
|
Mmm, im thinking of making a tile-based background for easier collision detection but idk.
|
|
|
|
|
|
PrimalDoom
|
Posted: Thu Jun 11, 2009 9:25 pm Post subject: Re: Moving the screen |
|
|
The best way I've found to move the screen is to do this
WinY = half of your screen along the Y axis
WinX = half of your screen along the X axis
Y = your players Y coordinate
X = your players X coordinate
WinMoveY = the location all players are moved to on the screen when you move. Your player is also affected by this. WinMoveY is added to the Y coordinate of everything that gets drawn on the screen.
WinMoveX = the location all players are moved to on the screen when you move. Your player is also affected by this. WinMoveX is added to the Y coordinate of everything that gets drawn on the screen.
if WinY - Y ~= 0 then
WinMoveY := - Y + WinY
end if
if WinX - X ~= 0 then
WinMoveX := - X + WinX
end if
or something like that any way i solved it in the game i was making, it's not done yet but it works and i haven't found any flaws with the game in terms of were this piece of code is concerned.
|
|
|
|
|
|
|