Using functions in Blitz3D / BlitzPlus
October 30, 2008 at 9:45 pm | In Games development | 3 CommentsTags: blitz basic, blitz3d, functions, Games Programming, indie development, indie programming, programming
I’ve had a request to show how to use functions in blitzbasic from TheLividePianoist, I’ve been slow to answer, so here we go:
simple maths function:
purpose of function is to return double the number you send it:
<code>
x = 2
y = double(x)
print y
waitkey
function double(z)
return z*2
end function
<end code>
The function header: function double(z) just means that the function is called double (you can call functions what ever you like, as long as there’s not already a function called that), and the (z) tells it to expect a variable called z. z could be anything, in this case it’s a number.
when a function exits, it can either just end using the “end function” line, or it can return a value to the part of the program that called it in this case it’s “y=double(x)”, x gets passed to the function, which get’s written in z, which the function doubles and returns to that part of code assigning the return value to y.
Here’s another quick example:
Say you always centre your text, using text x,y,”hello”,1,1
Instead of having to write ,1,1 on the end everytime, why not write a function called ctext that automatically centres your text?
<code>
graphics 800,600,32,2
setbuffer frontbuffer()
ctext 400,300,”This is the centre of the screen!”
waitkey
end
function ctext(x,y,mytext$)
text x,y,mytext$,1,1
end function
<end code>
The function declaration: function ctext(x,y,mytext$) tells the function to expect to be given an x number, a y number and a string of text (hence the $ after mytext):
Then instead of returning a value, we simple call the text function with these values and put ,1,1 on the end to centre the text over the x and y coords chosen.
Hopefully this has cleared things up a bit for you, if you’re still unsure, please let me know.
3 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
Hey, thanks man. Nice tut and very understandable. This is exactly what I needed, the second example answers my question better. Keep up the great tuts and good luck on the game.
Comment by TheLividePianoist — October 31, 2008 #
Uh, could you elaborate though by telling me how to create my own symbol commands. Take for example the + sign adds. I want to know if I can create my own sign and what info I’d need to include for it. Thanks again
Comment by TheLividePianoist — October 31, 2008 #
Cool site, love the info.
Comment by Bill Bartmann — September 3, 2009 #