
-----------------------------------
Pyroguy
Fri Mar 21, 2003 11:51 pm

Need help with sprites
-----------------------------------
Hey, I was wondering if one of you guys could give me a simple program that animates a sprite, because I'm making a mortal combat style game, but I only have a vague idea of how to make sprites... I know how to create pictures using bmps from a file, and i know that you have to declare an array of pictures to use in the sprite, but I'm not quite so sure about the code to declare the arrays, and also the Sprite.Animate command or any of the other sprite commands for that matter... plz help me  :?:  :?:  :?:  :D 

Thx

-----------------------------------
Pyroguy
Sat Mar 22, 2003 12:03 am

One more thing...
-----------------------------------
How do I change the size of the turing run window? 
i.e. make it fullscreen instead of just the one corner...  I'm on object oriented turing 4.0.1 [k]

-----------------------------------
Tony
Sat Mar 22, 2003 12:09 am


-----------------------------------
you cant have sprites in v4.x, only 3.1... well atleast not yet. You can have images with transparent background if you want. Use PicMerge mode.

as for resizing your window


View.Set("graphics:800;600")


-----------------------------------
Delta
Sat Mar 22, 2003 12:16 am


-----------------------------------
To make the run window fullscreen just type in setscreen ("fullscreen")

-----------------------------------
Blade
Sat Mar 22, 2003 12:22 am


-----------------------------------
you can also use

View.Set("Graphics:maxx;maxy")


-----------------------------------
Pyroguy
Sat Mar 22, 2003 12:26 am

school has different version
-----------------------------------
I think the turing version at my school is the newest version, and I know for a fact that you can make sprites on it.  Hypothetically, what would the source code be if I wanted to make a sprite with three frames?

-----------------------------------
Tony
Sat Mar 22, 2003 12:44 am


-----------------------------------
newest version is 4.x is I dont think they have sprites yet. (4 is the one with color coded editor)

if you got v3.1 then

var pics : array 0 .. 5 of int
        var sprite: int
        for i : 1 .. 6
            pics (i  1) := Pic.FileNew ("Pic" + intstr (i) + ".bmp")
            if Error.Last not= 0 then
                put "Error loading image: ", Error.LastMsg
                return
            end if
        end for
        sprite:= Sprite.New (pics (0))
        Sprite.SetPosition (sprite, 0, 100, false)
        Sprite.Show (sprite)
        for x : 2 .. maxx by 2
            Sprite.Animate (sprite, pics ((x div 2) mod 6), x, 100, false)
        end for
        Sprite.Free (sprite)


atleast thats an example from turing's help file.

-----------------------------------
Delta
Sat Mar 22, 2003 12:57 am


-----------------------------------
Your right Turing 4 doesn't support Sprites...yet I'll ask Tom West when they will be done it. (Tom West is the lead programmer for Turing)

-----------------------------------
Pyroguy
Sat Mar 22, 2003 11:41 pm

yeah that's what i was looking for
-----------------------------------
Thx for that code... that code was what i looked at from my schools help file and i can't access that help file from home.  Anyway...  you guys have a great site running here and im sure ill be back if i need help  :lol:

-----------------------------------
Pyroguy
Sun Mar 23, 2003 12:20 am

Calling a sprite as a procedure
-----------------------------------
I should probably post all my questions in one message, but I keep forgetting things I want to ask and new things keep coming to me... anyway... here is my question...

Is there any way that I could designate the creation of a sprite to a procedure, but change some of the parameters of the sprite...
ex:

var dubya : array 1 .. 3 of int
var dubselected : int
for i : 1 .. 3
    dubya (i) := Pic.FileNew ("dubyaselected" + intstr (i) + ".bmp")
    if Error.Last not= 0 then
        put "Try again dumbass", Error.LastMsg
        return
    end if
end for
procedure spritecreate()
dubselected := Sprite.New (dubya (0))
Sprite.SetPosition (dubselected, 0, 100, false)
Sprite.Show (dubselected)
for x : 2 .. maxx by 2
    Sprite.Animate (sprite, pics ((x div 2) mod 6), x, 100, false)
end for
Sprite.Free (dubselected)
spritecreate()

Say for example, that I wanted to create another sprite with the same commands, but different names for the variables... instead of the sprite being called dubselected, it could be osamaselected, or instead of the sprite being displayed on 0, 100 it could be changed to 100, 200.  This is an example of the code I'm going to use for my mortal politician game.

If I haven't made what I'm trying to do clear, let me try it again...
I want to change parameters of the procedure, so that I can call upon it using different names and numbers, and not have to write the code completely over again.  This must be very confusing... sorry I can't be clearer.

-----------------------------------
Asok
Sun Mar 23, 2003 2:53 am


-----------------------------------
easiest way to do that is with an array and have the different names in the array.

-----------------------------------
Tony
Sun Mar 23, 2003 2:30 pm


-----------------------------------
you can read a tutorial on procedures with arguments on examples and explanation of how you can pass values into a procedure.

Just to let you know, you cant have a user specified variable name... and you dont need to, since user never sees variable names anyway. What you do is you create an array and fill it with values. Though if you want to assign names, you can also have another array storing names assosiated with cells in another array.

let me explain:
arrayName(1):= "tony"
arrayName(2):= "dan"

arrayBits(1):= 10000 :wink:
arrayBits(2):= 1000

from there you can just use number to access array points in  arrayBits. But if you want to find how many bits TONY has, you search through first array to find which cell contains tony, then use that number to access arrayBits(1).

It can also be done if array is decleared as a 2D one.

-----------------------------------
Asok
Sun Mar 23, 2003 3:27 pm


-----------------------------------
arrayName(3):= "Asok"

arrayBits(3) := arrayBits(1) + arrayBits(2)

oooo I am the KING OF BITS! BOW BEFORE ME! MWAHAHAHAHA  :twisted:

-----------------------------------
Tony
Sun Mar 23, 2003 3:46 pm


-----------------------------------
not unless arrayBits(1) and arrayBits(2) are both negative  :twisted:

-----------------------------------
Asok
Sun Mar 23, 2003 5:52 pm


-----------------------------------
but you had allready set the values of arrayBits(1) and arrayBits(2)  :roll:

Just call me the Bit King and you shall be forgiven.

-----------------------------------
Dan
Sun Mar 23, 2003 11:59 pm


-----------------------------------
arrayName(1):= "dan"
arrayName(3):= "dan"

now all bits are dan's HA HA HA HA  :twisted:

-----------------------------------
Tony
Mon Mar 24, 2003 12:07 am


-----------------------------------
this is compeatly sprite unrelated.. but soo much fun

arrayName(1):="tony"
arrayBits(1):=2
loop
arrayBits(1):= arrayBits(1)**2
end loop

Who has the bits now?!  :twisted:
