Game Maker Text Box Engine Oil
5/25/2019
- //argument0 = the text
- //argument1 = whether or not to draw the box at the end
- //argument3 = whether or not to draw the text box
- //` = white text
- //{ = blue text
- global.drawingtext = true //the game is drawing text
- if argument2 = true //if it is the first time through
- self.position = 1//set the position as 1
- }
- global.more = argument1
- global.font = spr_letters //set the font at the beggining of the script
- //sets the postion of the pointer, so it knows how much text should be drawn
- if keyboard_check(vk_enter) = true //if enter is pushed
- self.done = true //you are done
- self.position = string_length(global.text) //end the text
- self.curstring = global.text //set the string to the text
- keyboard_clear(vk_enter) //stop generating events
- if self.done = false //if the text line isn't done
- self.curstring = string_copy(global.text, 1, self.position) //the first line is a part of the actual first line
- if string_length(self.curstring) = string_length(global.text) //if the text is done
- self.done = true //this line is done
- }
- if self.done = false //if not all text is done
- self.position += 1 //add one to the position
- if argument3 = true //if you should draw the text box
- draw_sprite(spr_textbox, 0, view_xview[1] + 16, view_yview[1] + 160) //draw the text box
- self.pointx = 22 //a little to the right..
- for(i = 1; i < string_length(self.curstring) + 1; i += 1) //once for every character
- self.lettertemp = string_copy(self.curstring, i, 1) //get the letter
- {
- self.pointy += 16 //go down a line
- if self.lettertemp <> ' ' and self.lettertemp <> '~' //if it isn't a space or a tilde
- if self.lettertemp <> '`' and self.lettertemp <> '^' and self.lettertemp <> '{' and self.lettertemp <> '}' //if it's not changing the font
- self.todraw = scr_getletter(self.lettertemp) //get the imagesingle of the value
- draw_sprite(global.font, self.todraw, view_xview[1] + self.pointx, view_yview[1] + self.pointy)
- }
- {
- {
- }
- {
- }
- {
- }
- {
- }
- }
- {
- }
- {
- self.pointy += 16 //move down for the next letter
- self.pointx = 22 //reset to the start of the line
- }
- screen_refresh() //refreshes the screen so you can actually see it
- if self.done = true and global.more = true //if we need to draw an arrow
- draw_sprite(spr_textmore, 0, view_xview[1] + 155, view_yview[1] + 216) //draw the arrow
- {
- sleep(30)
- scr_dialogbox(argument0, argument1, false, argument3) //do it all again
- else //yer done!
- screen_refresh() //refresh the screen
- sleep(30)
- keyboard_clear(vk_shift)
- global.drawingtext = false //get on with your regular life
- ___________________________________________________________________________________________________________________
- letter = argument0
- if ord(letter) >= ord('A') and ord(letter) <= ord('Z') //if it is an uppercase letter
- return (32 + (ord(letter) - ord('A'))) //return a value for the letter
- if ord(letter) >= ord('a') and ord(letter) <= ord('z') //if it is a lowercase letter
- return (64 + (ord(letter) - ord('a'))) //return a value for the letter
- if letter = '!' //exclamation mark
- return 0
- if letter = '' //quotations
- return 1
- if letter = '#' //number sign
- return 2
- if letter = '$' //dollar sign
- return 3
- if letter = '%' //percent sign
- return 4
- if letter = '&' //ampersand
- return 5
- if letter = '' //semi-qute
- return 6
- if letter = '(' //parentheses
- return 7
- if letter = ')' //parentheses
- return 8
- if letter = '*' //asterisk
- return 9
- if letter = '+' //plus sign
- return 10
- if letter = ',' //comma
- return 11
- if letter = '-' //dash
- return 12
- if letter = '.' //period
- return 13
- if letter = '/' //slash
- return 14
- if letter = '0' //0
- return 15
- if letter = '1' //1
- return 16
- if letter = '2' //2
- return 17
- if letter = '3' //3
- return 18
- if letter = '4' //4
- return 19
- if letter = '5' //5
- return 20
- if letter = '6' //6
- return 21
- if letter = '7' //7
- return 22
- if letter = '8' //8
- return 23
- if letter = '9' //9
- return 24
- if letter = ':' //colon
- return 25
- if letter = ';' //semi colon
- return 26
- if letter = '<' //less than
- return 27
- if letter = '=' //equal to
- return 28
- if letter = '>' //greater than
- return 29
- if letter = '?' //question mark
- return 30
- if letter = '@' //at sign
- return 31
- if letter = '[' //bracket
- return 58
- if letter = ' //slash
- return 59
- if letter = ']' //bracket
- return 60
- if letter = '^' //carot
- return 61
- if letter = '_' //underscore
- return 62
- if letter = '' //quotation mark
- return 63
- A game with dialogue can be drastically improved with a 'typewriter' effect, in my opinion at least. Not only is it aesthetically pleasing, but can ease the burden of a lot of text on-screen.
- Buildbox is a new video game maker that is extremely easy to use. Using this video game software, anyone to design amazing games for mobile, console and PC. Using this video game software, anyone to design amazing games for mobile, console and PC.
Online Text Box
The Ultimate Textbox Engine is the best way to easily add textbox's and scripting into your game. From simple textbox's. Ultimate Text Engine. In Game Maker! Merubah file pdf ke word.
Comments are closed.