Objects used in Visual Pinball (page 1)


back to index         -         previous page         -         next page

- Table -   - Wall / Target -   - Gate -   - Ramp -
- Flipper -   - Plunger -   - Bumper -   - Spinner -


Everything used to build the table are objects. There are only 16 objects that can be used.
These 16 different objects, combined with imported sounds/images, can make a complete table.
Objects don't do anything when inserted in a table. The script makes them work.
If you want an object to do something, you will have to write a routine for it.

If you click the "Options" button on the left of the screen, an infobox will show on the right.
There you can set a lot of options for the object you've selected.
Some can be changed with a command. I will state the commands I know, but there may be more.

All objects have a build-in timer. These have nothing to do with the objects themselves.
Setting the timer doesn't make anything happen with the object, you need a routine for that.
[] Timer Enabled : KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Object.TimerEnabled=True can be used to start the timer when you want it to start.



Table:
The table is the playfield where everything is placed that's used for the ball.
You can't place a TextBox or EMReel on the table itself, these go on the Backdrop.
If you place these on the backdrop, they stay visible, even when placed over the table.

Rightclicking on the table opens a window wich let's you paste an object from memory at
that specific point, this is the same as Shift+Ctrl+V (paste at...).

Table
Name [Table1] this can be changed to whatever name you like (also adjust in script)
[] Show Grid this shows or hides the grid on the table
Grid Size [50] this adjusts the grid size
[] Display Image in Editor this shows or hides the background image in the editor
Color[___] selects the color for the table
Image [_____________] selects a background image for the table
[] Render Shadows switches shadows on/off. Test what you prefer.
[] Table Render Caching not sure, but looks like it can use cache-memory for table rendering
[] Hardware Graphics Rendering best left off, doesn't work on all PC's.
Ball:
Ball/Front/Back images can be loaded to adjust the look of the ball
Physics:
Table Width [1000] width of the table
Table Height (Length) [2000] length/depth of the table
Top Glass Height [210] height of the glass
Table Field Height [0] I have not yet made a table where this has to be changed.
Tbl Slope Min Difficulty [6] changes difficulty, I always keep min/max at the same setting.
Tbl Slope Max Difficulty [6] changes difficulty, I always keep min/max at the same setting.
Global Difficulty Level [0] sets global difficulty level
PBW Accelerometer [v] I always keep this checked on.
Normal Mounting [v] No idea what this does, I always keep this checked on.
PBW Mount Rotation [0] No idea what this does, I always keep this at 0.
Accelerometer Gain [1.5] Increase to increase ball speed, but with small steps like 0.5 or less.
Joystick Manual Gain [3.5] No idea what this does, I always keep this at 3.5.
Jolt Amount [500] the amount of jolt added when a jolt-key is pressed(needs code to work)
Tilt Amount [950] the amount of jolt at with the table tilts (needs code to work)
Jolt Trigger Time [1000] the time the amount of jolt takes to reduce (needs code to work)
Tilt Trigger Time [10000] the time the tilt takes to finish (needs code to work)
I'm not to sure about the tilt part, haven't used it yet.

Go to Menu

Wall / Target:
Walls and targets are the same. If you insert them in the table, they both are walls.
A wall comes with "[] Has Hit Event" unchecked. A target comes with "[v] Has Hit Event" checked.
This is the only difference between the two.
If a wall has "[v] Has Hit Event" checked, a side-image will be scaled to fit each side.
This only works if the wall "is a target".
I often use this to create detailed graphics on a single visible square side.
I make the wall/target unhittable by unchecking "[] Collidable", it's just there for the looks.
If you have a block with multiple visible sides, wrap an image around with "[] Has Hit Event" unchecked.

A wall can be placed and formed as you please.
Click the wall to shape the sides.
Rightclicking on a dot opens a window wich let's you selecect:
- Smooth, this makes the side curve through this corner
- Slingshot, this changes the side on the counter-clockworkside of the dot into a slingshot.
        The slingshot always activates when hit, but there is no sound/score.
        Sub Wall1_Slingshot() is the hit-routine for the slingshot used in the script.

Rightclicking on the wall opens a window wich let's you select:
- Flip X, mirrors the wall over the x-axis, horizontal
- Flip Y, mirrors the wall over the Y-axis, vertical
- Rotate, rotates the wall by a certain amount of degrees
- Scale, can be X-Y scaled or X and Y can be scaled seperatly
- Translate, moves the wall, but you can also click and drag or use arrow keys
- Add Point, adds an extra corner to the wall, select a corner and click DEL to remove
- Draw in Front, this can come in handy to move the wall to the top for easier editing
- Draw in Back, this can come in handy to move the wall to the bottom for easier editing
- Lock, locks the wall, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)


Wall ... Target ... (these are the same)
Name [Wall1] this can be changed to whatever name you like (also adjust in script)
[] Top Visible this shows or hides the top of the wall, not visible can still be hit
Top [_________________] selects a top image for the wall
The image as large as the background, with the top of the wall drawn in place.
Use the blueprint to create the image. It can be used for multiple walls
[] Display Image in Editor this shows or hides the top image in the editor
Top Color[___] selects the standard color for the top
[] Side Visible this shows or hides the sides of the wall, not visible can still be hit
Side Image [_____________] selects a side image for the wall, this wraps around 4 sides on a wall
This is shown completely on a single side of a target
Side Color[___] selects the standard color for the side
Slingshot Color[___] selects the color for the slingshot if present, only shows when hit
[] Cast Shadows switches shadows on/off. Test what you prefer.
[] Animate Slingshot turns the slingshot animation on or off
[] Flipbook Animation if checked on, the wall isn't visible when dropped
Top Height[50] top height of the wall
Bottom Height [0] bottom height of the wall
[] Has Hit Event if checked on, the wall is turned into a target
Sub Wall1_Hit() can then be used in the script
I don't know if a wall with hit-event can have a slingshot, It's rare to have both in 1 wall.
Sub Wall1_Slingshot() is the hit-routine for the slingshot used in the script
Hit Treshold [1] the force the ball needs to start the hit-routine, higher value = more difficult
Slingshot Force [8] the strength of the slingshot, increase to increase strengh
Slingshot Threshold [0] the force the ball needs to trigger the slingshot, higher value = more difficult
Elasticity [0.3] the speed the ball bounces off the wall with, 1=full speed, 0=slow
Friction [0] the amount of friction the wall applies to the ball, best kept at 0
Scatter Angle [0] increase to increase the angle the ball bounces off with
[] Can Drop if checked on, the wall can be dropped
Wall1.IsDropped=True
can now be used in the script
[] Collidable if checked on, the wall can be hit, if checked off, the ball goes through the wall
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Wall1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.

Go to Menu

Gate:
A gate keeps the ball from passing from one side, while allowing it to pass from the other side.
The arrow indicates the direction the ball rolls.
With rotation, you change the orientatition of the arrow (and the gate)
You can't change the bottomheight of the gate, you have to stick it to a surface.
There is some code involved in gates, but I haven't used it yet.

Rightclicking on the gate opens a window wich let's you select:
- Draw in Front, this can come in handy to move the gate to the top for easier editing
- Draw in Back, this can come in handy to move the gate to the bottom for easier editing
- Lock, locks the gate, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)

Gate
Name [Gate1] this can be changed to whatever name you like (also adjust in script)
Front [__________] an image for the front can be selected here
Back [__________] an image for the back can be selected here
Color [___] selects the standard color for the gate (choose one matching the picture if used)
[] Supports this shows or hides the supports, the sides of the gate, not visible can still be hit
[] Visible this shows or hides the gate, not visible can still be hit
Animation Frames [0] sets the number of steps the animation of the gate uses to fully open or fully close
X [520] this can be used to move the gate, click and drag or arrow-keys can also be used
Y [337] this can be used to move the gate, click and drag or arrow-keys can also be used
Length [100] this sets the length (width) of the gate
Height [50] this sets the height of the gate, from the surface to the top of the gate
Rotation [-90] this rotates the gate, the number of degrees is the orientation of the arrow
OpenAngle [90] the angle of the gate when fully opened
Close Angle [0] the angle of the gate when fully closed
Surface [__________] the object used to determine the height the gate is placed at
the topheight of the chosen surface = the bottomheight of the gate
the gate doesn't have to be physicly touching the chosen surface
it just takes the height and uses it to determine the bottomheight of the gate
Elasticity [0.3] the speed the ball bounces off the gate with, 1=full speed, 0=slow
Friction [0] the amount of friction the gate applies on the ball, best kept at 0
[] Collidable if checked on, the gate can be hit, if checked off, the ball goes through the gate
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Gate1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.

Go to Menu

Ramp:
A ramp can be used to bring the ball to a higher or lower level of the table.
Ramps can also run on the same height (same bottom/top height) to transport balls.
Invisible ramps can create the illusion that the ball floats through the air.
Steep ramps have more problems with the ball being launched off the ramp when hit hard.
Keep a minimum width of 60 to avoid problems with the ball getting stuck on the ramp.
Flat-Ramps can be shaped any way you like. You can use your own images as graphics.
Add points to add more curves to the ramp. (A straight ramp only needs 1 segment)
Wire-Ramps have fixed graphics. Changing the width doesn't change the graphics.
The type is just the graphics, all wire-ramps have the same physics (left/right wall).
Add points to add more curves to the ramp. (A straight ramp only needs 1 segment)
Curves have to be smooth. When a curve is to thight, add extra points to smoothen it out.
Ramps don't have hit events and don't use any form of code.
They do have a build-in timer that can be used for other routines.

Rightclicking on the ramp opens a window wich let's you select:
- Flip X, mirrors the ramp over the x-axis, horizontal
- Flip Y, mirrors the ramp over the Y-axis, vertical
- Rotate, rotates the ramp by a certain amount of degrees
- Scale, can be X-Y scaled or X and Y can be scaled seperatly
- Translate, moves the ramp, but you can also click and drag or use arrow keys
- Add Point, adds an extra segment to the ramp, select a dot and click DEL to remove
- Draw in Front, this can come in handy to move the ramp to the top for easier editing
- Draw in Back, this can come in handy to move the ramp to the bottom for easier editing
- Lock, locks the ramp, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)

Ramp
Name [Ramp1] this can be changed to whatever name you like
Type [RampTypeFlat] the type of ramp used in the table when rendering graphics:
- RampTypeFlat, a solid ramp that allows the use of your own graphics
- RampType2Wire, a ramp that looks like having only 2 wires
- RampType3WireLeft, looks like 2 bottom wires and 1 wire at the place of the left wall
- RampType3WireRight, looks like 2 bottom wires and 1 wire at the place of the right wall
- RampType4Wire, a ramp that looks like having 4 wires
Image [__________] an image for the flat ramp can be selected here (doesn't work on wire ramps)
Mode [ImageModeWorld] selects the way the image is aplied to the flat ramp:
- ImageModeWorld, this takes the graphics from an image as large as the background
    The blueprint can be used to create such an image.
- ImageModeWrap, this wraps the selected image around the ramp
[] Apply Image to Walls I like to keep this unchecked. Graphics don't seem to wrap around nicely.
Feel free to experiment, it's all about what you like.
Color [___] selects the standard color for the ramp (choose one matching the picture if used)
wire-Ramps in white/lightgrey give a realistic metallic look
[] Acrylic this changes the properties used for rendering the graphics of the ramp
just a small difference, test to find what you prefer
[] Cast shadows turns the shadows on or off
[] Visible this shows or hides the ramp, not visible can still be hit
To Height [100] sets the top height of the ramp (can be lower than bottom height)
Bottom Height [0] sets the bottom height of the ramp (can be higher than top height)
Top Width [60] this sets the top width of the ramp
Bottom Width [75] this sets the bottom width of the ramp
Visible Wall
Left Wall [30] this sets the visible height of the left wall, this is just for the looks
Right Wall [30] this sets the visible height of the visible right wall, this is just for the looks
Physical Wall
Left Wall [62] this sets the physical height of the left wall, used for ball collission
keep in mind that this height can be a lot higher than the visible wall
the physical wall can go through an object and the ball can get stuck behind it
Right Wall [62] this sets the physical height of the right wall, used for ball collission
keep in mind that this height can be a lot higher than the visible wall
the physical wall can go through an object and the ball can get stuck behind it
Elasticity [0.3] the speed the ball bounces off the ramp with, 1=full speed, 0=slow
Friction [0] the amount of friction the ramp applies to the ball, best kept at 0
Scatter Angle [0] increase to increase the angle the ball bounces off with
[] Collidable if checked on, the ramp can be hit, if checked off, the ball goes through the ramp
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Ramp1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.

Go to Menu

Flipper:
No question about what these objects do. :)
If you place extra flippers, just copy/paste the code in the key-routine.
Don't try to give all flippers the same name, this doesn't work.
All names of all objects have to be unique, otherwise VP changes the name by itself.
The flipper-key needs to activate all flippers on 1 side simultaniously,
place the code for the flippers on the same side all under the same key.
Don't forget to change both routines, KeyDown and KeyUp.
Flipper.RotateToEnd and Flipper.RotateToStart .
You only need the sound to trigger once for all flippers on the same side.

There is only one type flipper, you can't select Left or Right.
To change the orientation of the flipper, adjust the Start Angle and End Angle.
The dotted lines in the editor shows how far and in wich direction the flipper moves.
To change the size and looks, adjust the settings in the options.

Rightclicking on the flipper opens a window wich let's you select:
- Draw in Front, this can come in handy to move the flipper to the top for easier editing
- Draw in Back, this can come in handy to move the flipper to the bottom for easier editing
- Lock, locks the wall, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)


Flipper
Name [Flipper1] this can be changed to whatever name you like (also adjust in script)
Color[___] selects the color for the flipper
Rubber Color[___] selects the color for the rubber wrapped around the flipper
Ruber Thickness [0] this sets the thickness of the rubber, how much is visible around the flipper
Rubber Offset Height [8] the space between the bottom of the flipper and the start of the rubber
Rubber Width [34] the height of the rubber, starting at the offset
[] Visible shows/hides the flipper, not visible can still be hit
X [613] Y [938] position of the center of the base, X=horizontal, Y=vertical
Use Y to get 2 flippers on the same line in the table
Base Radius[26.73] this adjusts the size (width) of the base of the flipper (connecting/turning point)
End Radius [10.69] this adjusts the size (width) of the tip of the flipper
Length [142.57] this sets the length of the flipper, the distance between base and tip
Start Angle [120] this sets the starting angle of the flipper, the resting position, (360 degrees)
the angle is set for the line running from the base center to the center of the tip
change this to change the orientation of the flipper (-120 is the same as 240)
End Angle [60] this sets the final angle of the flipper, the active position, (360 degrees)
the angle is set for the line running from the base center to the center of the tip
change this to change the amount of action by the flipper (-60 is the same as 300)
the editor also shows the end position of the flipper as dotted lines
Height [50] height of the flipper
Max.Difficulty Length [0] I have not changed this option yet, I always keep it at 0.
Surface [__________] the object used to determine the height the flipper is placed at
the topheight of the chosen surface = the bottomheight of the flipper
the flipper doesn't have to be physicly touching the chosen surface
it just takes the height and uses it to determine the bottomheight of the flipper
Physics     just test and see what settings you prefer
Speed [0.05] the speed of the flipper, don't ask me what the number represents
Strength [6] the strength of the flipper, increase to increase strengh
Elasticity [0.3] the speed the ball bounces off the flipper with, 1=full speed, 0=slow
Scatter Angle [0] increase to increase the angle the ball bounces off with
Return Strength [1] the strength the flipper has when returning to resting position (start)
I always leave this at 1
Recoil Velocity [0] has something to do with the recoil, I always leave this at 0
Power-Law [2] no idea, I always leave this at 2
Oblique Correction [0] no idea, I always leave this at 0
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Flipper1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.

Go to Menu

Plunger:
This is used in the empty table to launch the ball.
For some unknown reason, the plunger keeps disapearing from my table.
It works, but you can't see it. Most of the times, I use a kicker
to launch the ball.

There ar a number of different values that can be set.
Just change them and try to find the setting that suits your table.

Rightclicking on the plunger opens a window wich let's you select:
- Draw in Front, this can come in handy to move the plunger to the top for easier editing
- Draw in Back, this can come in handy to move the plunger to the bottom for easier editing
- Lock, locks the wall, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)


Plunger
Name [Plunger1] this can be changed to whatever name you like (also adjust in script)
X [613] Y [938] position of the center of the base, X=horizontal, Y=vertical
Surface [__________] the object used to determine the height the plunger is placed at
the topheight of the chosen surface = the bottomheight of the plunger
Pull Speed [5] the speed the plunger uses to move to the maximum position
Release Speed [140] The speed the plunger uses to move to the start position
Stroke Length [80] the length of the plunger
Scatter Velocity [0] No idea, just try and find out yourself
[_] Enable Mechanical Plunger I fail to notice the difference between on and off
[_] Auto Plunger I always leave this off
MechStrength [85] no idea, I change this a bit at random
Break Over Velocity [18] no idea, I always leave this at 18
ParkPosition 0...1 [0.1666666667] no idea, I always leave this at standard setting
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Plunger1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.

Go to Menu

Bumper:
Found in tables since the beginning, the bumper is one of those typical pinball things.
Bumpers are the mushroom shaped objects that sling balls back when hit.
They can be changed in size and apearence.
When inserted in a table, they will flash and sling the ball back when hit,
even without code. To give points or make sound, you will have to add code.
The LightState/Blink Pattern/Blink Interval are for graphic purpose.
These do not affect the light from "Flash when Hit", this is always a single flash.
When placing a bumper, keep in mind that there should be enough room for the ball.
You can put a bumper partialy inside a wall, it will still work.

Rightclicking on a bumper opens a window wich let's you selecect:
- Draw in Front, this can come in handy to move the bumper to the top for easier editing
- Draw in Back, this can come in handy to move the bumper to the bottom for easier editing
- Lock, locks the wall, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)


Bumper
Name [Bumper1] this can be changed to whatever name you like (also adjust in script)
Color[___] selects the standard color for the top
Side Color[___] selects the standard color for the bumper (cylinder under the hood)
Image [_________________] selects a top image for the bumper
The image as large as the bumper, will be scaled to fit the top.
Radius [45]This adjust the size of the bumper (center)
Overhang [25]This adjust the size of the overhang (sloped part of the hood)
[v] Cast Shadows switches shadows on/off. Test what you prefer.
[v] Visible this shows or hides the bumper, not visible can still be hit
[v] Side Visible this shows or hides the center bumper (under the hood), not visible can still be hit
X [613] Y [938] position of the center of the base, X=horizontal, Y=vertical
Surface [__________] the object used to determine the height the bumper is placed at
the topheight of the chosen surface = the bottomheight of the bumper
State [LightStateOff] Apearence of bumperlight when not hit. 0=Off/1=On/2=Blinking
Blink Pattern [10] 1=on 0=off, example 10110 = on-off-on-on-off
Blink Interval [125] time in ms for 1 blink (does not affect Flash). 1000ms = 1 second
[v] Flash when Hit Switches on/off the flash when the bumper is hit
Force [15] the strength used to bounce the ball back
Hit Treshold [1] the force the ball needs to start the hit-routine, higher value = more difficult
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Bumper1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.

Go to Menu

Spinner:
Found in tables since the beginning, the spinner is one of those typical pinball things.
When placed on the table, it will spin, but won't make sound or give points.
Use Sub SpinnerName_Spin() to add sound and points.
Use a very short sound, the spinner can spin very fast.

Rightclicking on the spinner opens a window wich let's you select:
- Draw in Front, this can come in handy to move the spinner to the top for easier editing
- Draw in Back, this can come in handy to move the spinner to the bottom for easier editing
- Lock, locks the spinner, so you can't drag it by exident, VERY VERY HANDY !!!!
(you can lock almost everything in the game. Simply clicking on a object can move it by mistake)

Spinner
Name [Spinner1] this can be changed to whatever name you like (also adjust in script)
Front [__________] an image for the front can be selected here
Back Image [__________] an image for the back can be selected here
Color [___] selects the standard color for the spinner (choose one matching the pictures if used)
[v] Cast Shadows switches shadows on/off. Test what you prefer.
[v] Supports this shows or hides the supports, the sides of the spinner, not visible can still be hit
[v] Visible this shows or hides the gate, not visible can still be hit
Animation Frames [0] sets the number of steps the animation of the spinner uses to fully turn.
X [400] this can be used to move the spinner, click and drag or arrow-keys can also be used
Y [137] this can be used to move the spinner, click and drag or arrow-keys can also be used
Length [80] this sets the length (width) of the spinner
Height [50] this sets the height of the spinner, from the surface to the top of the support
the spinner itself is located 50% above and below the support top.
Rotation [0] this rotates the gate, the number of degrees is the orientation of the spinner
0 / 180 = horizontal, 90 / 270 = vertical
Overhang [10] the angle of the spinner when passive
[v] Supports this shows or hides the supports, the sides of the spinner, Yep, seems to be double.
AngleMax [0] the maximum angle for something, I keep this at 0
AngleMin [0] the minimum angle for something, I keep this at 0
Elasticity [0.3] the speed the ball bounces off the spinner with, 1=full speed, 0=slow
Surface [__________] the object used to determine the height the spinner is placed at
the topheight of the chosen surface = the bottomheight of the spinner
AntiFric [0.999999] the amount of friction the spinner has, try what you like best
1=no friction, 0=maximum friction. Best kept close to 1.
[] Timer Enabled KEEP THIS UNCHECKED AND OFF !!!,
this activates the timer at the start of the game
Gate1.TimerEnabled=True can be used to start the timer when you want it to start
Timer Interval [100] time in ms (1000 ms = 1 second)
User Value [___] no idea, I have not yet used this.



Go to Menu         -         next page