【问题标题】:game coding in jqueryjquery中的游戏编码
【发布时间】:2023-03-25 02:32:01
【问题描述】:

如何使用键盘箭头键使对象动画。但它不会超出屏幕,它必须在固定宽度上工作。

我见过一些固定宽度的游戏,比如 500px 。我需要以 100% 的宽度创建它。

对象必须在按键时从左到右、从上到下等进行动画处理。

感谢 Adeneo,我得到了左侧的代码

$(document).keydown(function(e) {
switch (e.which) {
    case 37:
        var left = parseInt( $('#player').css('left'), 10),
            ani  = left > 50 ? 50 : left;

        if (ani > 0) {
            $('#player').stop().animate({
                left: '-='+ani
            });
        } 

任何人都可以解释如何为所有键工作。

【问题讨论】:

  • 但问题是,当我将它用于正确和顶部时,它对我不起作用

标签: jquery jquery-animate keydown


【解决方案1】:

你有一个 switch 语句,所以只需“复制”逻辑,但对于更多的按键情况。

Key codes

$(document).keydown(function(e) {
switch (e.which) {
    case 37:
        var left = parseInt( $('#player').css('left'), 10),
            ani  = left > 50 ? 50 : left;

        if (ani > 0) {
            $('#player').stop().animate({
                left: '-='+ani
            });
        } 
    break;
    case 38: /* Up key */
           ...
    break;
         ...

等等……

【讨论】:

  • 我已经尝试过了,但是如果我往右和往下走,它就不起作用了,而且它还卡在了左上角。一旦它到达屏幕的左上角,它就不会移动到任何地方。
  • 这是添加更多键的方法。您对这些键的逻辑可能是错误的?
  • 我使用了与上述相同的方法检查小提琴jsfiddle.net/atalshrivastava/ewnq9/1
  • 当您到达屏幕顶部时,您的播放器会卡住,因为您的 bottom 变量为 0... 因为它正在获取 top 的值,即 0...所以你可能想修改你的三元运算符来补偿当底部为 0 时。
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 2019-04-25
相关资源
最近更新 更多