Uhhhhhhhhhh....
Yeah idk why you would have random Japanese text showing up, looks like it could be a font texture problem. I'll need some more details to figure it out. Does it happen in every room, every time? Or just occasionally? Is it always the same image, or does it look different sometimes? Any objects that you add that seem to cause it to happen? is 'Clear Display Buffer with Window Colour' checked in the room editor under views?
For the collision stuff, you should replace your end step event with the new version, I'll paste it here so you don't have to download the whole thing:
//Check for collisions with blocks
xx=round(x)+.5;
yy=round(y);
o = collision_rectangle(x-5.5,y-12,x+5.5,y+8.5,block,1,1);
//o = instance_place(xx,yy,block); //o = other
if (o != noone) {
if (o.solid) {
x=xprevious;
y=yprevious;
}
if (place_free(xx+hspeed,y) == false) {
if (hspeed <= 0) { // Left | 左
move_contact_solid(180,abs(hspeed));
}
if (hspeed > 0) { // Right | 右
move_contact_solid(0,abs(hspeed));
}
hspeed = 0;
}
// strange bug in GM studio - keep player from turning around and getting stuck in the wall behind him
if (!place_free(x,y)) {
if (place_free(x-1,y)) x-=1;
else if (place_free(x+1,y)) x+=1;
}
// Check for blocks above/below | 上下に壁がある時
if (place_free(x,y+vspeed) == false) {
if (vspeed <= 0) { // Above | 上
move_contact_solid(90,abs(vspeed));
y=ceil(y); //shift the player down so we don't end up inside the block (prevents deaths to spikes in block)
}
if (vspeed > 0) { // Below | 下
move_contact_solid(270,abs(vspeed));
djump = true; //restore djump if standing on a block
}
vspeed = 0;
}
// 斜めの位置に壁がある時
if (place_free(x+hspeed,y+vspeed) == false) {
hspeed=0;
}
if (o.solid) {
x+=hspeed;
y+=vspeed;
}
//Fix for platforms - if you place a platform against a wall and run toawrds the wall while jumping up
//the platform will attempt to shift you to the top of it, but the x=xprevious y=yprevious
//code here will return you down, thus getting you caught in a loop and making the kid get stuck.
if (y_offset != 0) {
y=y_offset;
}
}
if (place_meeting(round(x),round(y),playerKiller)) {
killPlayer();
}
y_offset=0;
Then make sure to add the code to player create & platform player collision like I said a couple posts ago, and your platforms should work. If you get another errror, well, then I forgot to copy some code again