is it able to make platform games or even 3d games
GameMakers Possiblities seem limited to the naked eye, but they are great. Although they can't do 3D
Well I made a 3d game sort of.
You can download it Here. (http://www.gamemakersgarage.com/include/download.php?download=http%3A%2F%2Fwww.mediafire.com%2Fdownload.php%3Fu4eb5wjankr)
EDIT: Oh Moving from place to place is easy
ON KEYDOWN
IF keydown$ = "UPARROW" THEN
' if you are not at the top of the board you move up
IF manV <> 1 THEN
manV = manV - 1
ELSE
GOTOCARD cardabovethisone
END IF
END IF
IF keydown$ = "DOWNARROW"
' if you are not at the bottom of the board you move down our board is 7x7
IF manV <> 7 THEN
manV = manV + 1
ELSE
GOTOCARD cardbelowthisone
END IF
END IF
IF keydown$ = "LEFTARROW" THEN
IF manH <> 1 THEN
manH = manH - 1
ELSE
GOTOCARD cardleftofthisone
END IF
END IF
IF keydown$ = "RIGHTARROW"
IF manH <> 7 THEN
manH = manH + 1
ELSE
GOTOCARD cardrightofthisone
END IF
END IF
'now incorporating the Silverwind's AWESOME v6 engine "with my upgrade"
temp = manV * 7
temp = temp - 7
temp = temp + manH
'gridlayout$ is the variable which indicates where the obstacles on the board are
spot$ = MID$ gridlayout$ temp 1
'on the board we usually use 1 to indicate an obstacle and 0 to indicate open
' terrain
IF spot$ = "1" THEN
' Now to undo the move you just did into the wall
IF keydown$ = "UPARROW" THEN manV = manV + 1
IF keydown$ = "DOWNARROW" THEN manV = manV - 1
IF keydown$ = "RIGHTARROW" THEN manH = manH - 1
IF keydown$ = "LEFTARROW" THEN manH = manH + 1
' Now to show where you are
' if we are using Silverwind's 44x44 graphics
manX = manH * 44
manY = manV * 44
manX = manX + 5
manY = manY + 5
SPRITE 1 manX manY man.gif
END IF
hmmmm maybe its not so easy seems easy to me but i am very familiar with the code.
two questions how can i stop them running of the screen and secondly is there a way of making that alert box saying every even time "Tag You're it William" And every odd time "Tag You're it Daniel"
For the first problem, just add another condition to your movement commands that stops the movement from continuing if the sprite is off screen. For example,
IF SPRITEY(1) > (the highest y value on the screen) THEN
IF key$ = uparrow$ THEN
PUSHSPRITE 1,0,10
END IF
END IF
SPRITEY and SPRITEX return the x or y value of the sprite passed to them as a parameter. For example, lets say that sprite 1 is at the coordinates 10,30. Using SPRITEY(1) would return 30.
Thanks for that
But there is one problem, im able to do one wall but how do i add in the other walls. Please tell me how this is wrong.
END IF
IF SPRITEY(1) < 0 THEN
IF key$ = uparrow$ THEN
PUSHSPRITE 1, 0, 25
END IF
IF SPRITEY(1) > 291 THEN
IF key$ = downarrow$ THEN
PUSHSPRITE 1, 0, -25
END IF
END IF
END IF
I'm not sure if this is helpful or not, but in GM an effective solution would be:
IF SpriteX < LeftWall THEN SpriteX = LeftWall
IF SpriteX > RightWall THEN SpriteX = RightWall
IF SpriteY < UpWall THEN SpriteY = UpWall
IF SpriteY > DownWall THEN SpriteY = DownWall
I'm not sure what the SC syntax is, but the same logic would apply.
This is GameMaker code, but SC should be very similar
IF player = 1 THEN
ALERT Tag You're it William.
player = 2
ELSE
ALERT Tag You're it Daniel.
player = 1
END IF
You could also use the TOGGLE Command. :) I'm not sure if SC has a TOGGLE command, but GM could do it in 3 lines:
TOGGLE TaggedPlayer
IF TaggedPlayer = 0 THEN ALERT Tag! You're it William.
IF TaggedPlayer = 1 THEN ALERT Tag! You're it Daniel.
In GM it's:
Name1$ = USERASK Enter player 1's name:
I assume SC has a USERASK command as well, but I'm not sure what the syntax is.
let name$ = prompt$("What's your name?")
This saves the name the player enters in name$.
If you want a maximum of characters, you would do this:
let name$ = prompt$("What's your name?",20)
This restricts the player from entering a name longer than 20 characters.