Hey. I really would like to know how to make a completely 2D world based on guis. Is there a way to do this like games like undertale, earthbound, terraria.
How would I make it so whenever you press arrow keys the 2d camera moves? Also, colliding with 2d objects, and sprites?
I’m not asking for full on scripts or anything, just an idea, or a base on how to achieve this?
I assume you’re talking about the 2d runner game. Well, that game is actually 3d and just moves the camera at an angle so it looks like it’s 2d. I’m talking about a full-on 2d game here, guis and everything.
I tried that a while ago (and eventually gave up). It is possible, but it requires a lot of drawing and scripting (and ui knowledge aswell ofc). I always save some scripts in my Notepad so here is how to make the ImageLabel (which will be the Player’s Character) to move with the WASD Keys:
local UserInputService = game:GetService("UserInputService")
local A_pressed = false
UserInputService.InputBegan:Connect(function(inp, processed)
if inp.KeyCode == Enum.KeyCode.A then
if A_pressed then return end -- Abort on debounce
A_pressed = true
repeat
task.wait(0.05) -- Add in appropriate delay
script.Parent.Position = script.Parent.Position - UDim2.new(0.01,0,0)
until not A_pressed
end
end)
UserInputService.InputEnded:Connect(function(inp, processed)
if inp.KeyCode == Enum.KeyCode.A then
A_pressed = false
end
end)
Change the “A” to “D” and to “W” and to “S” and mainly just mess around with the script so it fits your liking! Btw, also make the map go the left when the Player goes to the right (when D is pressed), to the right when the Player goes to the left (when A is pressed), and so go on.
If you need more help, I’m more than happy to give you more information if you want. Have a good day!!
Yes, I know Roblox is mainly a 3D engine, but I just thought it would be cool to replicate 2D lol
btw the game is pretty cool, i’ll be sure to check out how it works later.