![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2006
Сообщений: 60
|
Привет!
Возник вопрос такого рода: есть фаил Клип.as который наследует свойства класса мувиклип, как в него передавать данные которые бы вставлялись в метод при нажатии на него, например вот сам класс(рабочий): class Клип{
private var _mc:MovieClip
//private var _isActive:Boolean
/*Constructor*/
function Клип(timeline:MovieClip, _Клип:String,_ИМЯ:String,_СЛОЙ:Number, _х:Number, _у:Number/*, isActive:Boolean*/){
/*Initialize the level counter*/
//if (_global.lvl == undefined)_global.lvl = 0
_mc = timeline.attachMovie(_Клип, _ИМЯ, _СЛОЙ)
_mc._x = _х;
_mc._y = _у;
/*_isActive = isActive
if (!_isActive) _mc._visible = false
_global.lvl++}*/
}
public function getClip():MovieClip{return _mc}
public function collides(sp:Клип):Boolean{return _mc.hitTest(sp.getClip())}
/*Getter / Setter for _isActive property*/
/*public function get isActive():Boolean{return _isActive}
public function set isActive(flag:Boolean):Void{_isActive = flag
if (_isActive )_mc._visible = true;
else _mc._visible = false
}*/
public function get x():Number{return _mc._x}
public function get y():Number{return _mc._y}
public function set __x(__x:Number):Void{_mc._x = __x}
public function set __y(__y:Number):Void{_mc._y = __y}
public function getWidth():Number{return _mc._width}
public function getHeight():Number{return _mc._height}
public function set __width(__width:Number){_mc._width =__width}
public function set __height(__height:Number){_mc._height=__height}
}
Последний раз редактировалось iNils; 04.12.2006 в 18:10. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
У тебя классы так по-русски и называются?
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 60
|
да, так и называются, в этом ошибки нет на флеше2004про, если что пишите не русские я переделаю, главное чтоб работало
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А почему у тебя «_y», а не «_ИГРЕК»?
![]() Вообще-то все должно быть по-английски. А ещё, я так и не понял, что ты хочешь сделать. |
|
|||||
|
"... при нажатии на него..." - это событие onPress / onRelease. Переопределяйте эти события (или одно из них) и всё будет.
По коду ничего не понятно - названия методов и классов по-русски - жутчайший моветон, особенно вкупе с комментариями по-английски. Желания разбирать такой код нет. Ну и как таковой вопрос до конца неясен - что именно не получается из двух задач: отлов нажатия на мувик или передача данных? |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 60
|
Вот все по английски, в библиотеке объект, “a” –кружок, с помощью класса создаться объект
var pepsi: Sprite =new Sprite (_root,"a","pepsi",5,100,100); var cola: Sprite =new Sprite (_root,"a","cola",6,200,200); что надо написать в классе чтобы я мог написать что-то в роде: pepsi.onPress = function(){
fscommand("quit");
}
cola.onPress = function(){
attachMovie("a", "fanta", 1);
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А если нужно перенаправить вызов в метод класса — нужно использовать Delegate, ищи на форуме примеры.
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 60
|
извените, я почитал про Delegate, попробывал, не получилось...
вот мой класс class Bot{
private var _mc:MovieClip
function Bot(timeline:MovieClip, _Clip:String, px:Number, py:Number,func:Function){
_mc =timeline.attachMovie("_Clip", "_Clip",1);
_mc._x=px;
_mc._y=_py;
_mc.onPress = func();
}
}
может, что не так пишу, прошу конкретной помощи |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
class Bot{
private var _mc:MovieClip
public function Bot(timeline:MovieClip, _Clip:String, px:Number, py:Number,func:Function){
_mc =timeline.attachMovie("_Clip", "_Clip",1);
_mc._x=px;
_mc._y=_py;
_mc.onPress = func;
}
}
import mx.utils.Delegate;
botFunc = function() {
_root.attachMovie("a","a2",5)
}
var a:Bot=new Bot(_root,"a",10,10,Delegate.create(this,this.botFunc));
з.Ы. На работоспособность не проверял. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 60
|
Почетаемый __etc, неработоспособно, что делать, в чем обшибка? И что я за это тебе должен?
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|