1. ActionScript / Говнокод #8826

    −120

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down);
    stage.addEventListener(KeyboardEvent.KEY_UP, key_up);
    //left - 37; up - 38; right - 39; down - 40
    
    var up:Boolean = false ;
    var down:Boolean = false;
    var left:Boolean = false;
    var right:Boolean = false;
    
    function key_down (e:KeyboardEvent):void
    {
    trace (e.keyCode);
    if (e.keyCode == 37 || e.keyCode == 65)
    {
      left = true;
    }
    if (e.keyCode == 38 || e.keyCode == 87)
    {
      up = true;
    }
    if (e.keyCode == 39 || e.keyCode == 68)
    {
      right = true;
    }
    if (e.keyCode == 40 || e.keyCode == 83)
    {
      down = true;
    }
    }
    function key_up (e:KeyboardEvent):void
    {
    trace (e.keyCode)
    if (e.keyCode == 37 || e.keyCode == 65)
    {
      left = false;
    }
    if (e.keyCode == 38 || e.keyCode == 87)
    {
      up = false;
    }
    if (e.keyCode == 39 || e.keyCode == 68)
    {
      right = false;
    }
    if (e.keyCode == 40 || e.keyCode == 83)
    {
      down = false;
    }
    }
    
    addEventListener(Event.ENTER_FRAME, moveHero);
    function moveHero (e:Event):void
    {
    if (left)
    {
      hero.x --;
    }
    if (up)
    {
      hero.y --;
    }
    if (right)
    {
      hero.x ++;
    }
    if (down)
    {
      hero.y ++;
    }
    }
    
    }

    Запостил: kyzi007, 14 Декабря 2011

    Комментарии (13) RSS

    • ой, я когда-то тоже так писал )))
      Ответить
      • Это пишет каждая личинка игродела.
        К слову код не рабочий:) Взят с деми.
        Ответить
        • ну если мозгов на большее не хватает, так хотя бы константы поставить - в АС должны же быть тоже
          Ответить
          • Их есть конечно:)
            Ответить
          • А чё, я так же пишу, только с константами.
            А чё плохого, это ж лучше, чем
            if (e.keyCode == 37 || e.keyCode == 65)
            {
            hero.x--
            }
            А чё, можно иначе сделать?
            Ответить
            • Нет смысла проверять на равенство через if-if, все-таки должен был быть if-else if. А для того, чтобы описать направление достаточно двух переменных (если герой сместится на отрицательное расстояние вперед - это то же самое, что смещение назад). Это также сделало бы проверки ненужными, достаточно было бы: hero.x += horizontal; hero.y += vertical;
              Ответить
        • Сам от туда половину говнокодов запостил..
          p.s. а нука давай свой профиль на деми =)
          Ответить
    • Как-то уныло.
      Ответить
      • После пятого (?) начало приедаться.
        Ответить
    • Событие.Пришло_во_фрейм => геройПодвинься.
      Ответить

    Добавить комментарий