Difference between revisions of "Backgrounds"
Line 1: | Line 1: | ||
− | + | WARNING: ARTICLE INCOMPLETE, FORMATTING ERRORS | |
− | .1 definition of background | + | |
+ | |||
+ | == Backgrounds == | ||
+ | |||
+ | |||
+ | ''.1 definition of background'' | ||
In open surge of background is composed of two parts: the background script, and the background image. | In open surge of background is composed of two parts: the background script, and the background image. | ||
Line 14: | Line 19: | ||
the background script (a plain text file with extension .BG contained in the themes folder off open surge) | the background script (a plain text file with extension .BG contained in the themes folder off open surge) | ||
− | .2 my first background – Starting a background script | + | ''.2 my first background – Starting a background script'' |
Assuming you have already chosen an image for your background, we will use the one below as reference: | Assuming you have already chosen an image for your background, we will use the one below as reference: | ||
Line 20: | Line 25: | ||
now open your text editor,start a new file, and you may want to add this to the start: | now open your text editor,start a new file, and you may want to add this to the start: | ||
− | # Open Surge Background | + | # Open Surge Background |
− | # by User001 | + | # by User001 |
− | # Background theme for My Zone | + | # Background theme for My Zone |
− | # OS Version: x.x.x | + | # OS Version: x.x.x |
the # is the symbol that notes a line as a comment, and this means the engine will not read this line, as it is only meant to inform you, "the creator", or other people, "the modders", of important details about the background script. | the # is the symbol that notes a line as a comment, and this means the engine will not read this line, as it is only meant to inform you, "the creator", or other people, "the modders", of important details about the background script. | ||
Line 36: | Line 41: | ||
also, if you are editing someone else's file, you should also add: | also, if you are editing someone else's file, you should also add: | ||
− | # Modified by user002 | + | # Modified by user002 |
and this is what we call the header, even though this is a very simple one with only comments and no commands. | and this is what we call the header, even though this is a very simple one with only comments and no commands. | ||
− | .2 .1 – simple background | + | ''.2 .1 – simple background'' |
Now that you are done with the header, you can leave some empty paragraphs, then start the very first layer. | Now that you are done with the header, you can leave some empty paragraphs, then start the very first layer. | ||
Line 48: | Line 53: | ||
This is an example of a code block for a background layer | This is an example of a code block for a background layer | ||
− | # sky | + | |
− | background | + | # sky |
− | { | + | background |
+ | { | ||
initial_position 0 -64 | initial_position 0 -64 | ||
scroll_speed -0.01 0 | scroll_speed -0.01 0 | ||
Line 56: | Line 62: | ||
repeat_x TRUE | repeat_x TRUE | ||
repeat_y FALSE | repeat_y FALSE | ||
− | + | zindex 0.2 | |
− | + | ||
sprite | sprite | ||
{ | { | ||
Line 63: | Line 69: | ||
source_rect 0 0 768 192 | source_rect 0 0 768 192 | ||
frame_size 768 192 | frame_size 768 192 | ||
− | + | ||
animation | animation | ||
{ | { | ||
Line 71: | Line 77: | ||
} | } | ||
} | } | ||
− | } | + | } |
− | + | ||
so you start the first line with the word "background", so the engine knows it will create a background, and it will add the properties below. | so you start the first line with the word "background", so the engine knows it will create a background, and it will add the properties below. | ||
the { and } symbols open and close a statement. The statement is a block of commands and parameters, and there can be statements inside statements, like when the Sprite is declared. | the { and } symbols open and close a statement. The statement is a block of commands and parameters, and there can be statements inside statements, like when the Sprite is declared. | ||
− | Attention: you should always respect the structure shown in the example. Misplaced {} will make your background unable to load. | + | '''Attention: you should always respect the structure shown in the example. Misplaced {} will make your background unable to load.''' |
initial_position | initial_position |
Revision as of 17:41, 25 December 2010
WARNING: ARTICLE INCOMPLETE, FORMATTING ERRORS
Backgrounds
.1 definition of background
In open surge of background is composed of two parts: the background script, and the background image.
The background image contains all the visual elements of the background, while the background script contains the definitions of the background such as the height, width, which part of the image to be used.
A background image is nothing without the script, even if you want to have a static background. There is a very simple reason for this. Even though making a static background looks easy as 123, the very same static background can be assembled in hundreds of different ways just by specifying different source points for the image, layering the background parts differently, or even by playing around with the scrolling speeds.
So, to summarize it, the most basic elements of a background are:
The background image (an image in .PNG format contained in the images folder of open surge) the background script (a plain text file with extension .BG contained in the themes folder off open surge)
.2 my first background – Starting a background script
Assuming you have already chosen an image for your background, we will use the one below as reference:
now open your text editor,start a new file, and you may want to add this to the start:
# Open Surge Background # by User001 # Background theme for My Zone # OS Version: x.x.x
the # is the symbol that notes a line as a comment, and this means the engine will not read this line, as it is only meant to inform you, "the creator", or other people, "the modders", of important details about the background script.
Having this at the start of the file informs:
line number one tells us this file is an open surge background. Line number two tells us who created this file. line number three tells us what this background file was made for. line number four tells us which version of the game we need.
also, if you are editing someone else's file, you should also add:
# Modified by user002
and this is what we call the header, even though this is a very simple one with only comments and no commands.
.2 .1 – simple background
Now that you are done with the header, you can leave some empty paragraphs, then start the very first layer.
once again the # symbol is useful here to help you identify which layer represents a certain part of the image.
This is an example of a code block for a background layer
# sky background { initial_position 0 -64 scroll_speed -0.01 0 behavior DEFAULT repeat_x TRUE repeat_y FALSE zindex 0.2 sprite { source_file Images/sunshinesky.png source_rect 0 0 768 192 frame_size 768 192 animation { repeat TRUE fps 1 data 0 } } }
so you start the first line with the word "background", so the engine knows it will create a background, and it will add the properties below.
the { and } symbols open and close a statement. The statement is a block of commands and parameters, and there can be statements inside statements, like when the Sprite is declared.
Attention: you should always respect the structure shown in the example. Misplaced {} will make your background unable to load.
initial_position Receives two parameters: X position and Y position. both counting from the top left edge of the level. higher X values mean to the right, higher Y values mean downwards.
scroll_speed receives two parameters: X speed and Y speed. positive values mean the background will be moving in the same direction you are, which looks unnatural, but can be used to create a different effect. negative values scroll the background in the opposite direction of movement, which is how things work in real life.
behavior receives one or more parameters. Available behaviors are:
-default the default behavior is meant to only scroll the background on player movement. -linear TODO