Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Sprite jumping help
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh pageAdd this topic to your bookmarks (CTRL-D) View next topic
Author Message
oreoham48




PostPosted: Wed Jun 02, 2010 9:42 pm   Post subject: Sprite jumping help

What is it you are trying to achieve?
Make a sprite jump onscreen.


What is the problem you are having?
Sprite jumps erratically.


Describe what you have tried to solve this problem
Looked for tutorials.


Post any relevant code [b]

Turing:


var numFrames : int := 7
var walkRight : array 0 .. numFrames of int
var walkLeft : array 0 .. numFrames of int
var delayTime : int
var keys : array char of boolean
var x : int := 0
var y : int := 100
var canJump : boolean := true
var velocity : int := 100
var gravity : int := 1
var maxVelocity := 100

% process BGM
%     loop
%         Music.PlayFile ("ice_Climber.mp3")
%     end loop
% end BGM
%
% fork BGM

View.Set ("graphics:960;720, nobuttonbar, nocursor")

% Loads the right walking frames
for picNo : 0 .. numFrames
    walkRight (picNo) := Pic.FileNew ("Morse_Walk_" + intstr (picNo) + "_R.bmp")
end for

% Loads the left walking frames
for picNo : 0 .. numFrames
    walkLeft (picNo) := Pic.FileNew ("Morse_Walk_" + intstr (picNo) + "_L.bmp")
end for

% Loads the jumping frames
var jumpPicR := Pic.FileNew ("Morse_Jump_R.bmp")
var jumpPicL := Pic.FileNew ("Morse_Jump_L.bmp")

% Sets the background to be blue
Draw.FillBox (0, 0, maxx, maxy, blue)

% Define the sprites for movement
var spriteWalkR := Sprite.New (walkRight (1))
Sprite.SetPosition (spriteWalkR, 0, y, false)

var spriteWalkL := Sprite.New (walkLeft (1))

var spriteJumpR := Sprite.New (jumpPicR)

var spriteJumpL := Sprite.New (jumpPicL)

% Walking loop
Sprite.Show (spriteWalkR)
loop
    Input.KeyDown (keys)
    if keys (KEY_RIGHT_ARROW) then
        if x < 900 then
            Sprite.Hide (spriteWalkL)
            x += 8
            Sprite.Show (spriteWalkR)
            Sprite.Animate (spriteWalkR, walkRight ((x div 8) mod numFrames), x, y, false)
            delay (40)
        end if
        Sprite.Animate (spriteWalkR, walkRight (1), x, y, false)
    elsif keys (KEY_LEFT_ARROW) then
        if x > 0 then
            Sprite.Hide (spriteWalkR)
            x -= 8
            Sprite.Show (spriteWalkL)
            Sprite.Animate (spriteWalkL, walkLeft ((x div 8) mod numFrames), x, y, false)
            delay (40)
        end if
        Sprite.Animate (spriteWalkL, walkLeft (1), x, y, false)
    end if
    % Jump if on the ground and you just didn't jump
    if keys (KEY_UP_ARROW) and y = 100 and canJump then
    Sprite.Hide (spriteWalkR)
    Sprite.Hide (spriteWalkL)
    Sprite.Show (spriteJumpR)
        velocity := maxVelocity
        y += velocity
        Sprite.SetPosition (spriteJumpR, x, y, false)
        canJump := false
    elsif y = 100 then
        % Need to touch the ground to jump again
        canJump := true
    end if
    % Fall due to gravity
    if y >= 200 then
        velocity -= gravity
        y += velocity
        if y <= 200 then
            y := 100
            velocity := 0
        end if
    end if
end loop




[b]Please specify what version of Turing you are using

4.1.1
 
Sponsor
Sponsor
Sponsor
sponsor
lufthansa747




PostPosted: Wed Jun 02, 2010 9:53 pm   Post subject: RE:Sprite jumping help

lol you have done a lot of unnecessary coding. you do not need to have a sprite for him walking left, right or jumping. use the Sprite.ChangePic to change what the sprite picture is. i have tried running the code but am unable to because i do not have the pics. remind me tomorrow at school and i will help you out after school at comp sci club Very Happy
 
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh pageAdd this topic to your bookmarks (CTRL-D) View next topic

Page 1 of 1  [ 2 Posts ]
Jump to:   


Style:  
Search: