|
|
|||||
Регистрация: Mar 2010
Адрес: Казань)
Сообщений: 18
|
Доступ к переменной.
Здравствуйте.
У меня есть класс Main. В нем я добавляю на поле 2 клипа: tracer и floor. Так вот. tracer - падающее тело, для него прописал ускорение свободного падения и.т.д. Все это пописывал в самом КЛАССЕ Tracer. И еще есть объект floor. Это пол. Мне нужно сделать так, чтобы при ударе оп пол тело вело себя по правилам физики) Но для этого мне нужно.. нужно в классе Tracer обратиться к переменной floor класса Floor. ПОнятно, что использовать нужно hitTestObject. Обе переменные tracer и floor заданы в Main классе. Как мне быть? |
|
|||||
Насколько я смог себе это представить, у вас наблюдается следующая картина:
// Файл Tracer.as package { import flash.display.Sprite; public class Tracer extends Sprite { public function Tracer() { } public function floorRequest():void { trace(((parent as Main).floor as Floor).someProperty); } } } // Файл Floor.as package { import flash.display.Sprite; public class Floor extends Sprite { public var someProperty:int = 123; public function Floor() { } } } // Файл Main.as package { import flash.display.Sprite; public class Main extends Sprite { public var tracer:Tracer; public var floor:Floor; public function Main() { tracer = new Tracer(); floor = new Floor(); addChild(tracer); addChild(floor); tracer.floorRequest(); } } } |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
ви тгавите
// Файл Tracer.as package { import flash.display.Sprite; public class Tracer extends Sprite { public function Tracer() { } public function floorRequest(_floor:Floor):void { trace(_floor.someProperty, Main.instance.floor.someProperty); } } } // Файл Floor.as package { import flash.display.Sprite; public class Floor extends Sprite { public var someProperty:int = 123; public function Floor() { } } } // Файл Main.as package { import flash.display.Sprite; public class Main extends Sprite { public var tracer:Tracer; public var floor:Floor; public static var instance:Main; public function Main() { instance = this; tracer = new Tracer(); floor = new Floor(); addChild(tracer); addChild(floor); tracer.floorRequest(floor); } } }
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: Mar 2010
Адрес: Казань)
Сообщений: 18
|
Bav, спасибо, но нет)
// Файл Tracer.as package { import flash.display.*; import flash.events.*; public class Tracer extends MovieClip { var acceleration=0; public function Tracer() { this.addEventListener(Event.ENTER_FRAME,handler_enterFrame); } function handler_enterFrame(e:Event):void { this.y+=acceleration; acceleration+=1; } } } // Файл Floor.as package { import flash.display.*; public class Border extends Sprite { public function Border() { } } } // Файл Main.as package { import flash.display.*; public class Main extends Sprite { public var chel:Tracer; public var floor:Border; public function Main() { chel = new Tracer(); chel.x=550/2; chel.y=0; addChild(chel); floor = new Border(); floor.x=0; floor.y=400; addChild(floor); } } } |
|
|||||
Да, вариант предложенный -De- выглядит более рациональным.
artur1995g, не забывайте указывать типы переменным. Также, имя файла должно совпадать с именем класса: |
|
|||||
Регистрация: Mar 2010
Адрес: Казань)
Сообщений: 18
|
Да. Спасибо.
Сейчас попробую разобраться Добавлено через 8 минут А на какой странице в Муке это описано? |
|
|||||
Видимо, там, где описываются спецификаторы доступа к переменным.
|
Часовой пояс GMT +4, время: 11:10. |
|
« Предыдущая тема | Следующая тема » |
Теги |
collision , hittestobject , клип , переменные , физика |
|
|