SLIDGE has the ability to modify and display data, and everything that it works with is stored within a ds_map data structure. In this example, I'm using a set of styled choice buttons to simulate an on-screen keyboard.

It's possible to re-create this scene in your own game, or to merge the scenes and styles listed below into your own, and then to add something like a “Done” button or something that goes on to the next part of your game.

Data gathered through this keyboard is available by checking the ds_map “global.register” for the value of “name_input.”

You can also use the handy SLIDGE function to do this: playerName = ds_map_lookup(global.register, “name_input”, “”);

And of course you can incorporate the data into the SLIDGE engine simply by placing the code tag [r=name_input] anywhere in which you'd prefer the data to appear. If the data is not set, nothing will be drawn.

BEFORE modifying anything in %localappdata%, make backups!!! This is your game data we're messing with here!

Scenes File Data:

	"keyboard" : {
		"Entries" : "0",
		"endAction" : "",
		"0" : {
			"textboxes" : [{
					"typed" : "1",
					"label" : "[r=markedName]",
					"normal" : {},
					"animate" : 1.000000,
					"text" : "[r=name_input]",
					"avi" : "",
					"x" : "640",
					"style" : "keyboard_input",
					"y" : "360"
				}
			],
			"sound" : "",
			"background" : "",
			"choices" : [{
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=Q",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "Q",
					"sprite" : "",
					"x" : 405.000000,
					"condition" : "",
					"button" : {
						"key" : "Q"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=W",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "W",
					"sprite" : "",
					"x" : 454.500000,
					"condition" : "",
					"button" : {
						"key" : "W"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=E",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "E",
					"sprite" : "",
					"x" : 504.000000,
					"condition" : "",
					"button" : {
						"key" : "E"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=R",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "R",
					"sprite" : "",
					"x" : 553.500000,
					"condition" : "",
					"button" : {
						"key" : "R"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=T",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "T",
					"sprite" : "",
					"x" : 603.000000,
					"condition" : "",
					"button" : {
						"key" : "T"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=Y",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "Y",
					"sprite" : "",
					"x" : 652.500000,
					"condition" : "",
					"button" : {
						"key" : "Y"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=U",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "U",
					"sprite" : "",
					"x" : 702.000000,
					"condition" : "",
					"button" : {
						"key" : "U"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=I",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "I",
					"sprite" : "",
					"x" : 751.500000,
					"condition" : "",
					"button" : {
						"key" : "I"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=O",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "O",
					"sprite" : "",
					"x" : 801.000000,
					"condition" : "",
					"button" : {
						"key" : "O"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=P",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "P",
					"sprite" : "",
					"x" : 850.500000,
					"condition" : "",
					"button" : {
						"key" : "P"
					},
					"y" : 430.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=A",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "A",
					"sprite" : "",
					"x" : 420.000000,
					"condition" : "",
					"button" : {
						"key" : "A"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=S",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "S",
					"sprite" : "",
					"x" : 469.500000,
					"condition" : "",
					"button" : {
						"key" : "S"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=D",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "D",
					"sprite" : "",
					"x" : 519.000000,
					"condition" : "",
					"button" : {
						"key" : "D"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=F",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "F",
					"sprite" : "",
					"x" : 568.500000,
					"condition" : "",
					"button" : {
						"key" : "F"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=G",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "G",
					"sprite" : "",
					"x" : 618.000000,
					"condition" : "",
					"button" : {
						"key" : "G"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=H",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "H",
					"sprite" : "",
					"x" : 667.500000,
					"condition" : "",
					"button" : {
						"key" : "H"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=J",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "J",
					"sprite" : "",
					"x" : 717.000000,
					"condition" : "",
					"button" : {
						"key" : "J"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=K",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "K",
					"sprite" : "",
					"x" : 766.500000,
					"condition" : "",
					"button" : {
						"key" : "K"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=L",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "L",
					"sprite" : "",
					"x" : 816.000000,
					"condition" : "",
					"button" : {
						"key" : "L"
					},
					"y" : 478.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=Z",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "Z",
					"sprite" : "",
					"x" : 445.500000,
					"condition" : "",
					"button" : {
						"key" : "Z"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=X",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "X",
					"sprite" : "",
					"x" : 495.000000,
					"condition" : "",
					"button" : {
						"key" : "X"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=C",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "C",
					"sprite" : "",
					"x" : 544.500000,
					"condition" : "",
					"button" : {
						"key" : "C"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=V",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "V",
					"sprite" : "",
					"x" : 594.000000,
					"condition" : "",
					"button" : {
						"key" : "V"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=B",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "B",
					"sprite" : "",
					"x" : 643.500000,
					"condition" : "",
					"button" : {
						"key" : "B"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=N",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "N",
					"sprite" : "",
					"x" : 693.000000,
					"condition" : "",
					"button" : {
						"key" : "N"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+=M",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "M",
					"sprite" : "",
					"x" : 742.500000,
					"condition" : "",
					"button" : {
						"key" : "M"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]+= ",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "Spc",
					"sprite" : "",
					"x" : 792.000000,
					"condition" : "",
					"button" : {
						"key" : "vk_space"
					},
					"y" : 522.000000
				}, {
					"pin" : 1.000000,
					"link" : "",
					"ripple" : "0",
					"normal" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key"
					},
					"command" : "r[name_input]-=1",
					"hover" : {
						"label" : "",
						"avi" : "",
						"style" : "Keyboard_key_hover"
					},
					"text" : "DEL",
					"sprite" : "",
					"x" : "925.50",
					"condition" : "",
					"button" : {
						"key" : "vk_backspace"
					},
					"y" : "431"
				}
			],
			"skipChoice" : "0",
			"timer" : "-1",
			"characters" : []
		}
	}

_styles File Data:

textbox:

		"keyboard_input" : {
			"label" : {
				"color" : [0.000000, 0.000000, 0.000000],
				"font" : "ft_slidge_default",
				"opacity" : 1.000000,
				"data" : [-320.000000, -69.000000, 320.000000, -50.000000],
				"labelAlign" : 1.000000,
				"active" : 0.000000
			},
			"continue" : {
				"sprite" : "",
				"opacity" : 1.000000,
				"data" : [320.000000, 50.000000],
				"active" : 1.000000
			},
			"shape" : {
				"color" : [255.000000, 255.000000, 255.000000],
				"opacity" : 0.800000,
				"data" : [-320.000000, -19.000000, 320.000000, 22.000000],
				"radius" : 37.777778,
				"type" : 1.000000,
				"active" : 1.000000
			},
			"textarea" : {
				"color" : [0.000000, 0.000000, 0.000000],
				"textAlign" : 0.000000,
				"font" : "ft_slidge_default",
				"opacity" : 1.000000,
				"data" : [-308.000000, -17.000000, 306.000000, 22.000000],
				"type" : 0.000000,
				"active" : 1.000000
			},
			"background" : {
				"data" : [-320.000000, -50.000000]
			},
			"avatar" : {
				"data" : [-320.000000, -50.000000],
				"width" : 0.000000,
				"type" : -1.000000,
				"height" : 0.000000
			}
		}

Choice:

		"Keyboard_key" : {
			"label" : {
				"color" : [0.000000, 0.000000, 0.000000],
				"font" : "",
				"opacity" : 1.000000,
				"data" : [-320.000000, -69.000000, 320.000000, -50.000000],
				"labelAlign" : 1.000000,
				"active" : 0.000000
			},
			"continue" : {
				"sprite" : "",
				"data" : [320.000000, 50.000000]
			},
			"shape" : {
				"color" : [255.000000, 255.000000, 255.000000],
				"opacity" : 0.800000,
				"data" : [-18.000000, -23.000000, 26.000000, 21.000000],
				"radius" : 37.777778,
				"type" : 1.000000,
				"active" : 1.000000
			},
			"textarea" : {
				"color" : [0.000000, 0.000000, 0.000000],
				"textAlign" : 1.000000,
				"font" : "ft_slidge_default",
				"opacity" : 1.000000,
				"data" : [-17.000000, -21.000000, 27.000000, 21.000000],
				"type" : 0.000000,
				"active" : 1.000000
			},
			"background" : {
				"data" : [-320.000000, -50.000000]
			},
			"avatar" : {
				"data" : [-320.000000, -50.000000],
				"width" : 0.000000,
				"type" : -1.000000,
				"height" : 0.000000
			}
		},
		"Keyboard_key_hover" : {
			"label" : {
				"color" : [0.000000, 0.000000, 0.000000],
				"font" : "",
				"opacity" : 1.000000,
				"data" : [-320.000000, -69.000000, 320.000000, -50.000000],
				"labelAlign" : 1.000000,
				"active" : 0.000000
			},
			"continue" : {
				"sprite" : "",
				"data" : [320.000000, 50.000000]
			},
			"shape" : {
				"color" : [1.000000, 255.000000, 255.000000],
				"opacity" : 0.800000,
				"data" : [-18.000000, -23.000000, 26.000000, 21.000000],
				"radius" : 37.777778,
				"type" : 1.000000,
				"active" : 1.000000
			},
			"textarea" : {
				"color" : [0.000000, 0.000000, 0.000000],
				"textAlign" : 1.000000,
				"font" : "ft_slidge_default",
				"opacity" : 1.000000,
				"data" : [-17.000000, -21.000000, 27.000000, 21.000000],
				"type" : 0.000000,
				"active" : 1.000000
			},
			"background" : {
				"data" : [-320.000000, -50.000000]
			},
			"avatar" : {
				"data" : [-320.000000, -50.000000],
				"width" : 0.000000,
				"type" : -1.000000,
				"height" : 0.000000
			}
		}
  • slidge/making_an_on-screen_keyboard.txt
  • Last modified: 2019/03/01 01:10
  • by journeyman