For a little bit here, I was about to post an issue I was having with code where changing screen_loc on an object added to a client's screen changed their view position. After playing around with different values, I found out that the issue was that I was setting screen_loc = "WEST+1,NORTH+1" not realizing that screen objects are drawn from bottom left, not top left.
So yeah, don't set screen_loc to NORTH+n... ever.
WHY THIS IS A BAD THING:
Setting screen_loc to NORTH+n or EAST+n is bad because the system draws screen_loc from the bottom left. This means that a higher number causes the HUD object to move up and right like an actual grid.
Setting NORTH+n (where n is a positive integer) causes the HUD to escape the view, and thus BYOND tries to compensate by adjusting the view to see the object. Same goes for EAST+n.
WHY THIS IS A BIT CONFUSING:
Usually in programming, objects are drawn from top left to bottom right. I guess it's fine that BYOND has an easier way of drawing objects since it relates more to how math classes work on a grid. Just my own stupidity in not seeing what was wrong with my code.
ID:2125505
Aug 1 2016, 10:39 pm
|
|
In response to Kaiochao
|
|
Kaiochao wrote:
It's perfectly fine to set screen_loc outside of the camera bounds, if that's what you want to do. If you want to extend the screen size or move its position, sure. Again, as the short description clarifies, it's my own mental stupidity causing the problem, not the code. |
The only problem here is that you didn't know what you were doing.