On Tue, Jun 07, 2011 at 11:39:51AM +1200, Ralph Versteegen wrote:
> On 7 June 2011 07:45, James Paige <b...@hamsterrepublic.com> wrote:
> > On Mon, Jun 06, 2011 at 03:23:26PM -0400, Mike Willis wrote:
> >>    So I don't know how to reply on those archives, but here is the crux of
> >>    the parallax problem I think:
> >>
> >>    You want the x coordinate of the top left of the screen to be the 
> >> dividing
> >>    factor, NOT the tiles.  In other words, you don't want
> >>    (parallax 'map' final tile x-coord) == 1/3 * (real map final tile 
> >> x-coord)
> >
> > I haven't used tile coordinates for anything. pixel coordinates only.
> >
> >>    You want
> >>    (parallax 'map' final pixel x-coord -- screen pixel size) == 1/3 * (real
> >>    map final pixel x-coord -- screen pixel size)
> >>
> >>    Then the script would work as intended, I think...?
> >>
> >>    Alternatively, you want to work out the actual ratio of sizes RATIO as
> >>    follows:
> >>    RATIO:= (parallax 'map' final pixel x-coord -- screen pixel size) / 
> >> (real
> >>    map final pixel x-coord -- screen pixel size)
> >>
> >>    and then use this RATIO in your script instead of 1/3
> 
> This all looks correct. And to be honest it hadn't occurred to me that
> the screen size matters (it applies only for one of the two types of
> parallax layers).
> 
> But if fact you don't really need to worry about correcting for the
> size of the screen, you just need to draw a large enough corner of the
> map layer (a bit more than a third).

Yeah, I realized I could just add 6 rows and 10 columns to my background 
layer to make this work the easy way, but I really wanted to figure out 
how to make it work when the background layer is exactly 1/3 the size of 
the map.

> I imagine that the real reason that your script isn't working is that
> the map root slice is placed at (-camera x, -camera y) relative to the
> screen, so to get the map layer to display at (camera x/3, camera
> y/3), you actually need to place it at offset (camera x * 2/3, camera
> y * 2/3) relative to the map root.

Yes, absolutely right.

I actually should have posted the version of that script where I was 
doing: camera pixel x -- camera pixel x / 3

That is as close as I got to making it work right :)

---
James
_______________________________________________
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to