### Author Topic: Z-DEPTH ? if you can, I will very happy  (Read 5704 times)

#### equinox

• Mc. Print
• Posts: 19
##### Z-DEPTH ? if you can, I will very happy
« on: 2009-Feb-08 »
Hi,
is an example of how a character goes behind a rock and is covered. As in games rpg?
« Last Edit: 2009-Feb-12 by equinox »

#### Moru

• Prof. Inline
• Posts: 1793
##### Re: Z-DEPTH ?
« Reply #1 on: 2009-Feb-08 »
Look at Mappyloader on my homepage, gamecorner.110mb.com. If you set a stone or a tree on layer 1, the player will be in front of the stone/tree when he is lower down, if he goes up he will be covered behind the stone/tree.

Or if you just want it a bit easier, if you want something to cover something else, draw the sprite you want on top, last.

eg:
Code: (glbasic) [Select]
`DRAWSPRITE player, 50, 50DRAWSPRITE stone, 50, 50`
For this you need to sort your objects on Y coordinate. Look for the example SORTARRAY in the help.

#### Schranz0r

• Prof. Inline
• Posts: 5116
• O Rly?
##### Re: Z-DEPTH ?
« Reply #2 on: 2009-Feb-09 »
hehe

Use layers:

Code: (glbasic) [Select]
`// L = Layer ( 3 layers or something more :D )Level[L][X][Y]FOR L = 0 TO 2 // 3 layers    FOR X = 0 TO 99 // 100 X-Tiles        FOR Y = 0 TO 99 // 100 Y-Tiles            SELECT L                CASE 0 // behind the Player layer                    DRAWSPRITE Level[L][X][Y], X*Tilesize, Y*Tilesize                CASE 1 // Player and collision layer                    DRAWSPRITE Level[L][X][Y], X*Tilesize, Y*Tilesize                    CheckCollision()                    Player() // Your player drawing and movement                CASE 2 // the "coverlayer"                    DRAWSPRITE Level[L][X][Y], X*Tilesize, Y*Tilesize            ENDSELECT        NEXT    NEXTNEXT`
I can make a little example, if you want?
« Last Edit: 2009-Feb-09 by Schranz0r »
I DGArray's

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

#### Moru

• Prof. Inline
• Posts: 1793
##### Re: Z-DEPTH ?
« Reply #3 on: 2009-Feb-09 »
Schranzor, if you use layers you can't stand in front of a stone, the stone will still cover the player. The example picture from the mappy loader below shows what I mean.

#### Kitty Hello

• code monkey
• Prof. Inline
• Posts: 10851
• here on my island the sea says 'hello'
##### Re: Z-DEPTH ?
« Reply #4 on: 2009-Feb-09 »
No!! You sort by the bottom line of a sprite

#### equinox

• Mc. Print
• Posts: 19
##### Re: Z-DEPTH ? (I can make a little example, if you want?)
« Reply #5 on: 2009-Feb-12 »
hehe

Use layers:

Code: (glbasic) [Select]
`// L = Layer ( 3 layers or something more :D )Level[L][X][Y]FOR L = 0 TO 2 // 3 layers    FOR X = 0 TO 99 // 100 X-Tiles        FOR Y = 0 TO 99 // 100 Y-Tiles            SELECT L                CASE 0 // behind the Player layer                    DRAWSPRITE Level[L][X][Y], X*Tilesize, Y*Tilesize                CASE 1 // Player and collision layer                    DRAWSPRITE Level[L][X][Y], X*Tilesize, Y*Tilesize                    CheckCollision()                    Player() // Your player drawing and movement                CASE 2 // the "coverlayer"                    DRAWSPRITE Level[L][X][Y], X*Tilesize, Y*Tilesize            ENDSELECT        NEXT    NEXTNEXT`
I can make a little example, if you want?

Yes,tnk1000. If yuo can,if you can, I will very happy!!!

#### equinox

• Mc. Print
• Posts: 19
##### Re: Z-DEPTH ?
« Reply #6 on: 2009-Feb-12 »
In yoUr exemple, I dont FIND guy.png.

Look at Mappyloader on my homepage, gamecorner.110mb.com. If you set a stone or a tree on layer 1, the player will be in front of the stone/tree when he is lower down, if he goes up he will be covered behind the stone/tree.

Or if you just want it a bit easier, if you want something to cover something else, draw the sprite you want on top, last.

eg:
Code: (glbasic) [Select]
`DRAWSPRITE player, 50, 50DRAWSPRITE stone, 50, 50`
For this you need to sort your objects on Y coordinate. Look for the example SORTARRAY in the help.

« Last Edit: 2009-Feb-12 by equinox »