Hello Tophat!
This chapter shows you how to make a simple hello world program in tophat.
Firstly make a new folder. In that folder create a file called main.um
, open
it in your favorite text editor and write the following in:
import (
"canvas.um"
"th.um"
"window.um"
)
fn init*() {
window::setup("Hello tophat!", 600, 600)
window::onFrame.register({
canvas::drawText("Hello tophat!", { 1, 1 }, th::black, 2)
})
}
Now run the file. On linux you would cd
into the directory and run tophat
.
On windows, open tophat
and choose the directory or make a shortcut to tophat
in the folder, so you can run the game by just double-clicking it.
Does everything work? Great! Is there a problem? Contact me at marek@mrms.cz.
Now let's explain all the parts of the example.
import (
"canvas.um"
"th.um"
"window.um"
)
The import statement imports all the modules you will need. The strings in the
import
statements are file-paths, but all the modules included in the example
are tophat builtin modules. This means you can import them even though they
aren't on the file system. All modules have their documentation available
here.
fn init*() {
This declares the init
function and exports it. This function your game's
entry point.
window::setup("Hello tophat!", 600, 600)
This function call creates a window. It will set the title to "Hello tophat!" and the dimensions to 600x600.
window::onFrame.register({
This registers a callback to the onFrame
signal. What this means is that the
code in the brackets will be called on every frame. This is you game's main
loop.
canvas::drawText("Hello tophat!", { 1, 1 }, th::black, 2)
This function draws the text Hello tophat!
at position 1, 1
, with black
color and scaled 2 times.