Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вопрос по классу (http://www.flasher.ru/forum/showthread.php?t=206519)

Godwarlock 09.02.2014 00:22

Вопрос по классу
 
В общем есть основная флешка, в которой два объекта - player и wall. К объекту player привязан класс Player, к объекту Wall привязан класс Wall. Суть проблемы такова, мне нужно через класс, сделать так чтобы player не мог пройти стену(wall), но при копиляции он показывает что нету объектов и переменной speed - скорости player. Как мне сделать чтобы он видел и объект player и стену, а также переменные, которые в классе player.
Класс Wall
Код AS3:

package  {
        import flash.display.MovieClip;
        import flash.events.Event;
        public class Wall extends MovieClip
        {
 
          public function Wall()
          {
                  addEventListener(Event.ENTER_FRAME, loop);
    function loop (e:Event){
        if (right_press)
        if (player.hitTestObject(wall)){
                player.x -=_speed;
        }
                if (left_press)
 
        if (player.hitTestObject(wall)){
                player.x +=_speed; 
          }
        }
          }
        }
 
}

Выдает обычную ошибку
E:\....\Wall.as, строка 11 1120: Обращение несуществующего свойства right_press.
Тоже самое с player, wall и т.п.
Помогите разобраться, будут благодарен

Я пока не очень разобрался с этими классами, поэтому возникают подобные вопросы.

Dip52 09.02.2014 00:27

А где находится свойство right_press?

Godwarlock 09.02.2014 00:34

В классе Player

Akopalipsis 09.02.2014 00:44

Читайте главу о области видимости переменных и методов.
У Вас переменные в одном классе, а обращаетесь к ним, в другом.
Классы друг о друге ничего не знают.

Godwarlock 09.02.2014 00:46

Допустим унаследуем класс Player, через класс Wall
public class Wall extends Player

Теперь он не говорит, что нету таких то переменных, но все равно говорит, что нету объектов player и wall расположенные на сцене. Как с этим решить вопрос?

Akopalipsis 09.02.2014 00:51

Вам сейчас бестолку говорить умные слова, но Вы относитесь к коду, как к жизни.
Стенка не должна проверять столкновение с человеком, ей должно быть безразлично. Хотя, может в жизни мы и не ходим сквозь стены, так-как они нас хиттестят. У Вас есть класс человека, стенки, они должны быть отдельно и не знать о друг-друге. А проверяет их пусть третий класс. И стенка не должна быть унаследована от человека, хотя мне очень часто кажется, что я от неё:D

Godwarlock 09.02.2014 01:07

И как тогда сделать проще? Допустим есть класс Человек - в нем все данные о человеке. Есть класс Стена - в ней всё о стенках. Третий класс, должен связывать и человека, и стенку? Но как третему классу передать данные и от человека и от стены, если унаследовать можно только что-то одно?

Akopalipsis 09.02.2014 01:14

Представить, что третий класс - мир. Создать в нем экземпляр человека и экземпляр стены.
А данные - человек.х += 10.

Godwarlock 09.02.2014 01:38

А если экземпляры созданы на сцене? Если создавать все экземпляры через классы, то, возможно так оно и есть, но если экземпляры уже созданы и с ними нужно работать уже через классы...

Akopalipsis 09.02.2014 02:23

Тут я не могу помочь, я не понимаю в кадрах.


Часовой пояс GMT +4, время: 14:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.