2d skateboard game
-
@waldron That would scale it to the original size. If you want it half size you would use { 0.5, 0.5 } and double size { 2, 2 }
-
@pianofire got it, i know i should know this by now still coasting along but i think i got what i need now....
-
@waldron No problem. that's what we're here for
-
@pianofire cheers, you could do a compendium of my questions for a idiots guide to coding haha
at least others to embarrassed to ask can seek solace in my questions. -
-
so iv managed to resize (scale) my character IMG (whoo hoo) but i'v also added a fore ground tile array so tiles appear over my character to add depth .. but this has also been effected by my scale
for my character as iv had to put the code in after the character to get this effect..
long story short, is there a way for the scale just to be targeted at my character and nothing else???iv shared my game as (where im at) iv got 3 tile arrays
1 for collision
2 for background
3 for foreground -
@waldron I forget, are you using the sprite functions for your character? Or is it the
drawSheet()
style of doing things?Either way, there are separate scale parameters you can apply to anything you like.
drawSheet()
has an expanded form,drawSheet( imageHandle, { sourceX, sourceY, sourceW, sourceH }, { destinationX, destinationY, destinationW, destinationH } )
That allows you to draw any portion of the original character image, at any scale, to the screen.
The
drawImage()
function also has an expanded form,drawImage( imageHandle, x, y, scale )
. Using these expanded functions, you should be able to set individual scales for anything you need. -
@Dave the draw sheet, so under that iv got
scale = { 1.4, 1.4 }
how do i target it as it effects my 3rd tile array
i can work around it but think it will doom me later ongot ya cheers
-
This is why it's generally best practice to use a single scale, consistently throughout your program. It can lead to difficulties if you've got things at different scales. That's hard to plan for though, especially when using entirely your own created graphics.
In the actual draw commands for the things you want to change, you could have a separate scale variable for the player:
playerScale = scale * 1.5 drawSheet( character, { 0, 0, width, height }, { playerX, playerY, width*playerScale, height*playerScale } ) // width and height refer to the pixel width and height of the source image
-
@Dave said in 2d skateboard game:
This is why it's generally best practice to use a single scale, consistently throughout your program
That right there is such an important piece of advice.
-
@Dave yeah iv already started painting my self into a corner with scales ect
find the sprite sheet not big enough to fit all my character and enemy animations in with this method
so iv had to draw them small to fit more in and scale them larger
with the other build i use sprites so no issue there as i can do separate sprite sheets to each animation
i want to do the same with this one but dont know how to handle the code to do separate sheets for my images .....
noob right here lol -
It's the same, except you don't need to use
setSpriteImage()
. Just replace the contents of the image handle with the spritesheet you want to use, before the sprite is drawn.spritesheets = [ loadImage("playerRunSheet"), loadImage("playerJumpSheet"), loadImage("playerTrickSheet") ] run = 0 jump = 1 trick = 2 state = run // then, in the main loop sheet = spritesheets[state] drawSheet( sheet, {0, 0, w, h}, {x, y, w*scale, h*scale} )
That is of course pseudo-code just intended to get the idea across. Let me know if you want me to expand on this or write more in detail.
-
@Dave thats great man im going to rework this game iv got all my assets so not to much of a bugger,
honestly cant thank you enough iv got that structure for the other build just didnt think it would work the same for this whoo hoo!!!!! -
@waldron Very glad to be of help dude! Give me a shout if you need anything :)
-
@Dave you'l regret saying that.. haha
i'm getting used to adding my enemies in game now but how can i change there death state from
collision/velocity (jumping into them) to a button attack (c.x) from my player?
if i can master that i can then add animation to my level and crushing blocks and spikes coming out of walls ect but give them a state where they kill me -
I think you could use multiple death states, each having their own specific spritesheet to draw from, and requisite conditions to trigger them. Something like:
(Of course, this is pseudo-code)
if collide with enemy and playerState != attack then enemyState = death1 endif if collide with enemy and playerState == attack then enemyState = death2 endif if enemyPosition overlaps with kill box then enemyState = death3 endif
There is probably a much more lovely way of doing this, but this is the route I would personally go down.
Then, you'll have specific conditions for each of those death states:
if enemyState == death1 and collides with player then // do specific things endif
-
@Dave wonderful stuff cheers
-
I very nearly gave up, with all these ideas floating around my head trying to implement them all just caused confusion.
So I stripped it back down to what I think I know and fixed all the confusion to something I can build on.
With huge magnitudes of greatfullness for the fuze team and users.Thankyou!!!
-
@waldron Awesome work man! This is really coming along!
-
any idea how i can fix my points for tricks, at the moment iv assigned score to a button press (trick) but obviously the user can just sit there and rack up a huge score.
I thought i cracked it last night by putting in movement speed for the opposite direction while pressing the button which actually gave it a great effect of grinding to a halt but then starts moving in the other direction and breaks the effect.
so is there a way i can create a dead zone so i can keep this set-up but have the movement and score to stop once my character is not moving ? i can provide a video later to help explainactually just figured out the movement thing by changing the direction of movement to y. axis.down so now i just need
the score fixing