2014-11-25 1 views
0

Недавно я сделал игру с игрой мейкера, и я попытался преобразовать его в html5, но у него есть некоторые большие ошибки ... вот это игра в формате HTML: http://ivatrix.com/Game/index.htmlGameMaker превращают игру в HTML5, показывая огромные ошибки

Во-первых, текст должен появиться в верхнем левом углу, как показано на этом скриншоте: http://gyazo.com/baa386fe06cfac9439c83b6e5192efd8 текст появляется только после создания комбо.

Во-вторых, когда вы нажимаете на сферу, это означает уменьшение масштаба до половины его размера, а затем увеличение до 1,5x его размера, но вместо этого оно сокращается до тех пор, пока оно не станет 1px большим, а затем бесконечно увеличится в размере. Розыгрыш код здесь:

if sl=1 
{ 
    if (s=0.6 or s=1) then d=d*(-1) 
    s+=d 
    if(frozen=1) 
    { 
    draw_sprite_ext(sprite_index,global.skin,x,y,s,s,0,c_blue,1) 
    } 
} 

И тогда есть другие мелкие ошибки, как какой-то текст не будет отображаться, эффекты частиц, кажется, не рисовать, игра всегда возвращается говорю, что нет совпадения на доске. Это все, что я нашел до сих пор.

Кто-нибудь знает, что я могу сделать, чтобы исправить это?

Спасибо.

ответ

1

Поскольку никто не дал ответа, и я нашел его сам, я поставлю его сюда, чтобы другие в одной лодке могли также выиграть. Практически, источник всех моих проблем с нерегулярными числами с плавающей запятой, например, вместо того, чтобы быть 1, может быть 1.000000003, а это означает, что если вы хотите проверить, равна ли эта переменная, она вернет false. Дополнительная информация здесь: http://help.yoyogames.com/entries/77891197-HTML5-Issues-And-Differences

Так для примера в моем случае, я изменил линию

if (s=0.6 or s=1) then d=d*(-1) 

в

if (s<0.6 or s>1) then d=d*(-1) 

И теперь проблема решена.

+0

Я не знаю ни одного языка yoyogame, но вы должны, вероятно, сделать 'abs (s - 0,6) <ТОЧНОСТЬ, где' ACCURACY' '' 0,00001' или что-то в этом роде. Таким образом, ваш код более подходит для изменений. – soktinpk

Смежные вопросы