I've actually never tried this out, but I think it's correct. If both IFs are true then just use the code you would normally use when pressing left on the D-Pad, although you could also use the absolute value of CPX in your X movement code to allow the player to move at different speeds when the stick is held at different positions. Just note that when doing this things get a bit more complicated.
I'm actually not familiar with using the circle pad... The best method I can think of is getting the position of the circle pad via STICK OUT CPX,CPY , and then checking to see if:
CPX is negative (<0)
The absolute value (The value of a number ignoring whether it's negative or positive) of CPX is greater than the absolute value of CPY (IF ABS(CPX) > ABS(CPY) THEN)
sprite's position on screen.
Obviously this is a somewhat vague example, but hopefully it gets the point across. You may wish to use a similar method for horizontal movement, and of course you'll have to make sure the player can only jump while on the ground! You'll also need to make sure the SPOFS takes the camera position into amount if you're game has scrolling.
code after the input that handles this velocity. Basically, write code that adds the PV variable to the players Y position, then add some value, say 2, to the PV variable. Eventually the PV variable will go over zero, which will cause you to start falling. When the player touches the ground change the PV variable to 0.
Finally, after you have done this, you can use SPOFS to change the...
Input is simple when the player pressed right, add to the players X position. I assume what you want to do, however, is make it so you can jump. That's pretty simple. You want a velocity variable, just call it PV (Player Velocity). When the player presses the jump button, change this variable to a negative value. This is where you move on to the second part of code I mentioned.
You'll want...
Do *not* use SPANIM to control your sprite's movement, unless you want it to follow fixed patterns. What you want to use is SPOFS. What you want to do is:
Code that checks for input
Code that moves player position by advancing/decreasing position variables
SPOFS Control number,X,Y
What... On Earth... Is going on here?!?! It keeps giving me a syntax error on line 575, *even if I notate the entire line with an apostrophe!* This is one of the weridest things I've ever had happen to me in SmileBASIC... And boy is it frustrating!
WAIT will always wait the amount of time specified, while VSYNC waits for the amount of frames specified. (I think) Basically, if your program takes most of a frame for each loop to be processed, VSYNC 1 will only wait the remaining amount of time for that frame before continuing. This ensures a completely stable game speed, unless your program takes *longer* than one frame to process per loop.
Um... I can't remember exactly how... but if you move the cursor over the BGMPLAY command and press the "?" in the top right of the screen, it will give you some instructions that should show you where to put channel numbers.
They're the exact same thing, it just has a different name in Japan. (Techincally, the Petit Computer we got for DSiWare was Petit Computer 2, as the original was only ever released in Japan. This third version kept the PTC name in Japan but got SmileBASIC in the West.)