Então, você notou a diferença? Vamos olhar para as imagens só no caso. Aqui temos parede normal de tijolos tipo de telha. Cant Hero entrar nesse azulejo de qualquer direcção.
Mas isso é nuvem. O herói pode entrar no azulejo de qualquer direção, exceto de cima. Se o herói é burro o suficiente para tentar entrar por cima, nós colocamos ele logo acima da nuvem:
Vamos primeiro configurar algumas telhas com a propriedade "nuvem". Se o azulejo tem "nuvem" definido como verdadeiro, é obviamente tipo de nuvem. Declare alguns protótipos:
CÓDIGO
game.Tile4 = function () ();
game.Tile4.prototype.walkable = true;
game.Tile4.prototype.cloud = true;
game.Tile4.prototype.frame = 4;
game.Tile4.prototype.walkable = true;
game.Tile4.prototype.cloud = true;
game.Tile4.prototype.frame = 4;
O azulejo tem "propriedade" walkable definido como verdadeiro, então sim, o herói pode andar nela. A fim de tornar herói estar nele, ao cair, criamos a nova função.
CÓDIGO
checkIfOnCloud function (ob) (
leftcloud var jogo = [ "t_" + ob.downY +"_"+ ob.leftX]. nuvem;
rightcloud var jogo = [ "t_" + ob.downY +"_"+ ob.rightX]. nuvem;
if (leftcloud (ou rightcloud) e ob.ytile! = ob.downY) (
return (true);
) Else (
return (false);
)
)
leftcloud var jogo = [ "t_" + ob.downY +"_"+ ob.leftX]. nuvem;
rightcloud var jogo = [ "t_" + ob.downY +"_"+ ob.rightX]. nuvem;
if (leftcloud (ou rightcloud) e ob.ytile! = ob.downY) (
return (true);
) Else (
return (false);
)
)
Nós usamos a parte inferior direita e à esquerda os pontos de canto para verificar se um deles é colocado sobre o azulejo, que nuvem propriedade é verdadeira. Se um deles é realmente a nuvem, que retornam true. Se a nuvem não é encontrada, o valor de retorno é falso.
Agora, precisamos chamar esta função de dois lugares: em função moveChar ao verificar a descer e em função de queda ao verificar se o herói ainda está em telhas sólido ou se ele começar a cair.
Localize esta linha no direito funcionam moveChar após if (diry == 1):
CÓDIGO
if (ob.downleft e ob.downright) (
Adicionar buscar por Cloud:
CÓDIGO
if (ob.downleft e ob.downright e! checkIfOnCloud (ob)) (
Da mesma forma que na função de substituir a linha de queda:
CÓDIGO
if (ob.downleft e ob.downright) (
com
CÓDIGO
if (ob.downleft e ob.downright e! checkIfOnCloud (ob)) (
Assim, antes que nós usamos para verificar apenas se os dois para a esquerda / direita pontos inferior estão na telha propriedade que tem walkable definido como verdadeiro (nós valores calculados para ob.downleft e ob.downright na função getMyCorners). Agora vamos adicionar apenas verificar se esses pontos não estão dentro da telha nuvem.
Aproveite as nuvens. E dom. E as estrelas:)

Help














