How do you go about making an RTS camera / city builder camera in ROBLOX Studio?
So I want to make a few Minimum VPs of some game ideas I have in mind for ROBLOX, most of them are RTS / City Building games. I have tried multiple times to get the camera right but I just can't do it. I can't get the camera to move with WASD. Can anybody help?
I tried attaching the camera to a part and making the player invisible on another invisible platform above the map. None of them worked the way the camera works in a game like Banished or Halo Wars (The way I want the camera to work)
lua camera roblox
add a comment |
So I want to make a few Minimum VPs of some game ideas I have in mind for ROBLOX, most of them are RTS / City Building games. I have tried multiple times to get the camera right but I just can't do it. I can't get the camera to move with WASD. Can anybody help?
I tried attaching the camera to a part and making the player invisible on another invisible platform above the map. None of them worked the way the camera works in a game like Banished or Halo Wars (The way I want the camera to work)
lua camera roblox
Do you have some sample code from your attempts that you can add to the question?
– Nifim
Jan 2 at 22:13
add a comment |
So I want to make a few Minimum VPs of some game ideas I have in mind for ROBLOX, most of them are RTS / City Building games. I have tried multiple times to get the camera right but I just can't do it. I can't get the camera to move with WASD. Can anybody help?
I tried attaching the camera to a part and making the player invisible on another invisible platform above the map. None of them worked the way the camera works in a game like Banished or Halo Wars (The way I want the camera to work)
lua camera roblox
So I want to make a few Minimum VPs of some game ideas I have in mind for ROBLOX, most of them are RTS / City Building games. I have tried multiple times to get the camera right but I just can't do it. I can't get the camera to move with WASD. Can anybody help?
I tried attaching the camera to a part and making the player invisible on another invisible platform above the map. None of them worked the way the camera works in a game like Banished or Halo Wars (The way I want the camera to work)
lua camera roblox
lua camera roblox
asked Jan 2 at 21:05
Pythonbytes TPythonbytes T
31
31
Do you have some sample code from your attempts that you can add to the question?
– Nifim
Jan 2 at 22:13
add a comment |
Do you have some sample code from your attempts that you can add to the question?
– Nifim
Jan 2 at 22:13
Do you have some sample code from your attempts that you can add to the question?
– Nifim
Jan 2 at 22:13
Do you have some sample code from your attempts that you can add to the question?
– Nifim
Jan 2 at 22:13
add a comment |
1 Answer
1
active
oldest
votes
Heyo!
If you're new to writing camera scripts, I would recommend checking out the Roblox Developer Hub for some pretty good tutorials : https://developer.roblox.com/articles/Camera-manipulation
By default, Roblox provides a pretty complex camera script that follows the character when the player spawns. You can see these scripts when you run your game in Studio, and look into the Solution Explorer under Players > [YourPlayerName] > PlayerScripts > PlayerModule > CameraModule
. Here you will see all of the different camera types that Roblox has already scripted for your.
But if you'd like to experiment on your own, you can try making a copy of these scripts, or making your own by simply creating a new LocalScript in StarterPlayer > StarterPlayerScripts
named CameraScript
.
Since you are making an RTS style game like Starcraft or Halo Wars, I would recommend making a simple camera hovers in the air, points down at the ground at like a 60 degree angle, and moves along the X axis with WS keyboard input, and along the Z axis with AD keyboard input.
Here's a simple example to help you get started :
- Make sure that the checkbox
Players.CharacterAutoLoads
is unchecked. - Create a LocalScript in
StarterPlayerScripts
namedCameraScript
- Paste the following script into
CameraScript
.
local cam = game.Workspace.CurrentCamera
-- place the camera high in the air, looking down at the ground
local startingPos = Vector3.new(0, 30, 0)
local downwardLookAngle = CFrame.Angles(-math.rad(60), 0, 0)
cam.CFrame = CFrame.new(startingPos) * downwardLookAngle
-- create a function that moves the camera around
local moveDir = Vector3.new(0, 0, 0) -- we'll use this vector to control our movement
local moveSpeed = 0.5
spawn(function()
while true do
-- animate the camera movement
local c = game.Workspace.CurrentCamera.CFrame
game.Workspace.CurrentCamera.CFrame = CFrame.new(c.Position) * CFrame.new(moveDir) * downwardLookAngle
wait(0.01)
end
end)
-- create a function to handle keyboard inputs
local function onKeyPress(actionName, userInputState, inputObject)
-- when a key is pressed, modify our moveDir vector so our camera moves
-- W key input
if actionName == "moveCameraForward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, -moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- A key input
elseif actionName == "moveCameraLeft" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(-moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
-- S key input
elseif actionName == "moveCameraBackward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- D key input
elseif actionName == "moveCameraRight" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
end
end
-- listen for keyboard input that moves the camera
game.ContextActionService:BindAction("moveCameraForward", onKeyPress, false, Enum.KeyCode.W)
game.ContextActionService:BindAction("moveCameraLeft", onKeyPress, false, Enum.KeyCode.A)
game.ContextActionService:BindAction("moveCameraBackward", onKeyPress, false, Enum.KeyCode.S)
game.ContextActionService:BindAction("moveCameraRight", onKeyPress, false, Enum.KeyCode.D)
This script has some issues if you end up pressing W + S or A + D at the same time, but it should be enough to get you started.
Good luck!
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013176%2fhow-do-you-go-about-making-an-rts-camera-city-builder-camera-in-roblox-studio%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Heyo!
If you're new to writing camera scripts, I would recommend checking out the Roblox Developer Hub for some pretty good tutorials : https://developer.roblox.com/articles/Camera-manipulation
By default, Roblox provides a pretty complex camera script that follows the character when the player spawns. You can see these scripts when you run your game in Studio, and look into the Solution Explorer under Players > [YourPlayerName] > PlayerScripts > PlayerModule > CameraModule
. Here you will see all of the different camera types that Roblox has already scripted for your.
But if you'd like to experiment on your own, you can try making a copy of these scripts, or making your own by simply creating a new LocalScript in StarterPlayer > StarterPlayerScripts
named CameraScript
.
Since you are making an RTS style game like Starcraft or Halo Wars, I would recommend making a simple camera hovers in the air, points down at the ground at like a 60 degree angle, and moves along the X axis with WS keyboard input, and along the Z axis with AD keyboard input.
Here's a simple example to help you get started :
- Make sure that the checkbox
Players.CharacterAutoLoads
is unchecked. - Create a LocalScript in
StarterPlayerScripts
namedCameraScript
- Paste the following script into
CameraScript
.
local cam = game.Workspace.CurrentCamera
-- place the camera high in the air, looking down at the ground
local startingPos = Vector3.new(0, 30, 0)
local downwardLookAngle = CFrame.Angles(-math.rad(60), 0, 0)
cam.CFrame = CFrame.new(startingPos) * downwardLookAngle
-- create a function that moves the camera around
local moveDir = Vector3.new(0, 0, 0) -- we'll use this vector to control our movement
local moveSpeed = 0.5
spawn(function()
while true do
-- animate the camera movement
local c = game.Workspace.CurrentCamera.CFrame
game.Workspace.CurrentCamera.CFrame = CFrame.new(c.Position) * CFrame.new(moveDir) * downwardLookAngle
wait(0.01)
end
end)
-- create a function to handle keyboard inputs
local function onKeyPress(actionName, userInputState, inputObject)
-- when a key is pressed, modify our moveDir vector so our camera moves
-- W key input
if actionName == "moveCameraForward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, -moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- A key input
elseif actionName == "moveCameraLeft" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(-moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
-- S key input
elseif actionName == "moveCameraBackward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- D key input
elseif actionName == "moveCameraRight" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
end
end
-- listen for keyboard input that moves the camera
game.ContextActionService:BindAction("moveCameraForward", onKeyPress, false, Enum.KeyCode.W)
game.ContextActionService:BindAction("moveCameraLeft", onKeyPress, false, Enum.KeyCode.A)
game.ContextActionService:BindAction("moveCameraBackward", onKeyPress, false, Enum.KeyCode.S)
game.ContextActionService:BindAction("moveCameraRight", onKeyPress, false, Enum.KeyCode.D)
This script has some issues if you end up pressing W + S or A + D at the same time, but it should be enough to get you started.
Good luck!
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
add a comment |
Heyo!
If you're new to writing camera scripts, I would recommend checking out the Roblox Developer Hub for some pretty good tutorials : https://developer.roblox.com/articles/Camera-manipulation
By default, Roblox provides a pretty complex camera script that follows the character when the player spawns. You can see these scripts when you run your game in Studio, and look into the Solution Explorer under Players > [YourPlayerName] > PlayerScripts > PlayerModule > CameraModule
. Here you will see all of the different camera types that Roblox has already scripted for your.
But if you'd like to experiment on your own, you can try making a copy of these scripts, or making your own by simply creating a new LocalScript in StarterPlayer > StarterPlayerScripts
named CameraScript
.
Since you are making an RTS style game like Starcraft or Halo Wars, I would recommend making a simple camera hovers in the air, points down at the ground at like a 60 degree angle, and moves along the X axis with WS keyboard input, and along the Z axis with AD keyboard input.
Here's a simple example to help you get started :
- Make sure that the checkbox
Players.CharacterAutoLoads
is unchecked. - Create a LocalScript in
StarterPlayerScripts
namedCameraScript
- Paste the following script into
CameraScript
.
local cam = game.Workspace.CurrentCamera
-- place the camera high in the air, looking down at the ground
local startingPos = Vector3.new(0, 30, 0)
local downwardLookAngle = CFrame.Angles(-math.rad(60), 0, 0)
cam.CFrame = CFrame.new(startingPos) * downwardLookAngle
-- create a function that moves the camera around
local moveDir = Vector3.new(0, 0, 0) -- we'll use this vector to control our movement
local moveSpeed = 0.5
spawn(function()
while true do
-- animate the camera movement
local c = game.Workspace.CurrentCamera.CFrame
game.Workspace.CurrentCamera.CFrame = CFrame.new(c.Position) * CFrame.new(moveDir) * downwardLookAngle
wait(0.01)
end
end)
-- create a function to handle keyboard inputs
local function onKeyPress(actionName, userInputState, inputObject)
-- when a key is pressed, modify our moveDir vector so our camera moves
-- W key input
if actionName == "moveCameraForward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, -moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- A key input
elseif actionName == "moveCameraLeft" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(-moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
-- S key input
elseif actionName == "moveCameraBackward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- D key input
elseif actionName == "moveCameraRight" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
end
end
-- listen for keyboard input that moves the camera
game.ContextActionService:BindAction("moveCameraForward", onKeyPress, false, Enum.KeyCode.W)
game.ContextActionService:BindAction("moveCameraLeft", onKeyPress, false, Enum.KeyCode.A)
game.ContextActionService:BindAction("moveCameraBackward", onKeyPress, false, Enum.KeyCode.S)
game.ContextActionService:BindAction("moveCameraRight", onKeyPress, false, Enum.KeyCode.D)
This script has some issues if you end up pressing W + S or A + D at the same time, but it should be enough to get you started.
Good luck!
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
add a comment |
Heyo!
If you're new to writing camera scripts, I would recommend checking out the Roblox Developer Hub for some pretty good tutorials : https://developer.roblox.com/articles/Camera-manipulation
By default, Roblox provides a pretty complex camera script that follows the character when the player spawns. You can see these scripts when you run your game in Studio, and look into the Solution Explorer under Players > [YourPlayerName] > PlayerScripts > PlayerModule > CameraModule
. Here you will see all of the different camera types that Roblox has already scripted for your.
But if you'd like to experiment on your own, you can try making a copy of these scripts, or making your own by simply creating a new LocalScript in StarterPlayer > StarterPlayerScripts
named CameraScript
.
Since you are making an RTS style game like Starcraft or Halo Wars, I would recommend making a simple camera hovers in the air, points down at the ground at like a 60 degree angle, and moves along the X axis with WS keyboard input, and along the Z axis with AD keyboard input.
Here's a simple example to help you get started :
- Make sure that the checkbox
Players.CharacterAutoLoads
is unchecked. - Create a LocalScript in
StarterPlayerScripts
namedCameraScript
- Paste the following script into
CameraScript
.
local cam = game.Workspace.CurrentCamera
-- place the camera high in the air, looking down at the ground
local startingPos = Vector3.new(0, 30, 0)
local downwardLookAngle = CFrame.Angles(-math.rad(60), 0, 0)
cam.CFrame = CFrame.new(startingPos) * downwardLookAngle
-- create a function that moves the camera around
local moveDir = Vector3.new(0, 0, 0) -- we'll use this vector to control our movement
local moveSpeed = 0.5
spawn(function()
while true do
-- animate the camera movement
local c = game.Workspace.CurrentCamera.CFrame
game.Workspace.CurrentCamera.CFrame = CFrame.new(c.Position) * CFrame.new(moveDir) * downwardLookAngle
wait(0.01)
end
end)
-- create a function to handle keyboard inputs
local function onKeyPress(actionName, userInputState, inputObject)
-- when a key is pressed, modify our moveDir vector so our camera moves
-- W key input
if actionName == "moveCameraForward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, -moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- A key input
elseif actionName == "moveCameraLeft" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(-moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
-- S key input
elseif actionName == "moveCameraBackward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- D key input
elseif actionName == "moveCameraRight" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
end
end
-- listen for keyboard input that moves the camera
game.ContextActionService:BindAction("moveCameraForward", onKeyPress, false, Enum.KeyCode.W)
game.ContextActionService:BindAction("moveCameraLeft", onKeyPress, false, Enum.KeyCode.A)
game.ContextActionService:BindAction("moveCameraBackward", onKeyPress, false, Enum.KeyCode.S)
game.ContextActionService:BindAction("moveCameraRight", onKeyPress, false, Enum.KeyCode.D)
This script has some issues if you end up pressing W + S or A + D at the same time, but it should be enough to get you started.
Good luck!
Heyo!
If you're new to writing camera scripts, I would recommend checking out the Roblox Developer Hub for some pretty good tutorials : https://developer.roblox.com/articles/Camera-manipulation
By default, Roblox provides a pretty complex camera script that follows the character when the player spawns. You can see these scripts when you run your game in Studio, and look into the Solution Explorer under Players > [YourPlayerName] > PlayerScripts > PlayerModule > CameraModule
. Here you will see all of the different camera types that Roblox has already scripted for your.
But if you'd like to experiment on your own, you can try making a copy of these scripts, or making your own by simply creating a new LocalScript in StarterPlayer > StarterPlayerScripts
named CameraScript
.
Since you are making an RTS style game like Starcraft or Halo Wars, I would recommend making a simple camera hovers in the air, points down at the ground at like a 60 degree angle, and moves along the X axis with WS keyboard input, and along the Z axis with AD keyboard input.
Here's a simple example to help you get started :
- Make sure that the checkbox
Players.CharacterAutoLoads
is unchecked. - Create a LocalScript in
StarterPlayerScripts
namedCameraScript
- Paste the following script into
CameraScript
.
local cam = game.Workspace.CurrentCamera
-- place the camera high in the air, looking down at the ground
local startingPos = Vector3.new(0, 30, 0)
local downwardLookAngle = CFrame.Angles(-math.rad(60), 0, 0)
cam.CFrame = CFrame.new(startingPos) * downwardLookAngle
-- create a function that moves the camera around
local moveDir = Vector3.new(0, 0, 0) -- we'll use this vector to control our movement
local moveSpeed = 0.5
spawn(function()
while true do
-- animate the camera movement
local c = game.Workspace.CurrentCamera.CFrame
game.Workspace.CurrentCamera.CFrame = CFrame.new(c.Position) * CFrame.new(moveDir) * downwardLookAngle
wait(0.01)
end
end)
-- create a function to handle keyboard inputs
local function onKeyPress(actionName, userInputState, inputObject)
-- when a key is pressed, modify our moveDir vector so our camera moves
-- W key input
if actionName == "moveCameraForward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, -moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- A key input
elseif actionName == "moveCameraLeft" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(-moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
-- S key input
elseif actionName == "moveCameraBackward" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveDir.X, moveDir.Y, moveSpeed)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(moveDir.X, moveDir.Y, 0)
end
-- D key input
elseif actionName == "moveCameraRight" then
if userInputState == Enum.UserInputState.Begin then
moveDir = Vector3.new(moveSpeed, moveDir.Y, moveDir.Z)
elseif userInputState == Enum.UserInputState.End then
moveDir = Vector3.new(0, moveDir.Y, moveDir.Z)
end
end
end
-- listen for keyboard input that moves the camera
game.ContextActionService:BindAction("moveCameraForward", onKeyPress, false, Enum.KeyCode.W)
game.ContextActionService:BindAction("moveCameraLeft", onKeyPress, false, Enum.KeyCode.A)
game.ContextActionService:BindAction("moveCameraBackward", onKeyPress, false, Enum.KeyCode.S)
game.ContextActionService:BindAction("moveCameraRight", onKeyPress, false, Enum.KeyCode.D)
This script has some issues if you end up pressing W + S or A + D at the same time, but it should be enough to get you started.
Good luck!
edited Jan 3 at 5:18
answered Jan 3 at 5:03
KylaaaKylaaa
194210
194210
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
add a comment |
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
Thank you, this helped loads! I'll edit it a bit to fix the W + S and A + D problem. Thanks!
– Pythonbytes T
Jan 3 at 16:16
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013176%2fhow-do-you-go-about-making-an-rts-camera-city-builder-camera-in-roblox-studio%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do you have some sample code from your attempts that you can add to the question?
– Nifim
Jan 2 at 22:13