Klick hier für die deutschsprachige Version.
At this column you can learn to create your own egg-O-shOOter.
|<<< Moving objects >>>|
While the fly is beating it's wings it is time to let it fly around. By setting ObjectVYMin/Max=+100, you command the fly to move upwards.
All other variables should be set like below:
ObjectNumber=1 #1#Fliege / Fly
When starting level number one and pressing the 'N'-key, the fly should start ascending like a helicopter. Just before the ceiling it should return and descend until it disappears for a short span of time beneath the lower edge. After that the whole procedure starts again. If the fly doesn't move or behaves somehow different, have a closer look at the variable ObjectMoveType. It has to be set to 3 for this example!
Set ObjectVXMin/Max to the value -100, to give the fly a horizontal speed, too.
Now the fly moves in a zigzag course to the top left, bottom left and than (backwards) from the left in zigzag to the right. Looking at the movement backwards it looks a little bit strange. As a way out of this dilemma I created the variable ObjectMovePointing. Set it 1 and from now on the fly always points to the moving direction.
Set ObjectVXMin/Max to the value 100 and save the file 'themes.txt'. Whenever you press the 'N'-key by now, the fly starts either to the left or to the right. Why not always to the right if positive values imply movement to the right?. Well therefor you have to tell egg-O-shOOter that you want to use only positive values by using the '+'. Without the sign the direction is 'diced' (bidirectional). That behaviour allows you to define a minimum speed for the movement either to the left or to the right. If you would set e.g. ObjectVXMin=-100 and ObjectVXMax=+100, the speed 'diced' by the computer could also be 0, which means the fly would have NO horizontal speed. By using ObjectVXMin=90 and ObjectVXMax=100, the 'diced' value is always between -100 and -90 respectively +90 and +100. So you can be sure that the fly never stops and nevertheless moves to the left or to the right.
Dit you already try to shoot at the fly? If not, try it. Don't panic you can't hurt the fly...
You saw that (almost) nothing happened. It seems that the fly bursts, but it keeps the course. At the original game the fly always changed the course whenever you tried to hit it (so you can force the fly to move to the batch of dishes in front of the frog). Why doesn't this happen? Because we need to define this behavior first. Set ObjectHitDirection to the value 1. Now the program calculates a speed vector pointing to the opposite direction of the vector from the object's middle to the point where at you hit the fly. The absolute value (the 'size') of the speed is 'diced' between the values of ObjektVXMin/Max and ObjectVYMin/Max. If all of those variables are set to zero, the object does not move before and also not after being hit. There has to be a minimum speed handed to the object to use ObjectHitDirection.
You don't like the splitters? Set ObjectType to the value 1 (massive) and from now on the animal behaves as usual. The value 2 lets the pea pass and the fly alters the course (penetrable). This setting is used e. g. at the water jet coming out of the spigot.
|<<<Back to static objects Continue to 'What happens if...'>>>|