Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.12.2006, 14:38
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 1  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: Jun 2006
Сообщений: 60
Attention работа с классами AS2

Привет!
Возник вопрос такого рода:
есть фаил Клип.as который наследует свойства класса мувиклип, как в него передавать данные которые бы вставлялись в метод при нажатии на него, например
Код:
обьект1.нажали=removeMovieClip()
обьект2.нажали=trace('hello')
вот сам класс(рабочий):

Код:
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: Для оформления своего кода, надо использовать теги [code][/code]]


Последний раз редактировалось iNils; 04.12.2006 в 18:10.
Старый 04.12.2006, 14:42
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
У тебя классы так по-русски и называются?

Старый 04.12.2006, 15:58
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 3  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: Jun 2006
Сообщений: 60
да, так и называются, в этом ошибки нет на флеше2004про, если что пишите не русские я переделаю, главное чтоб работало

Старый 04.12.2006, 16:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А почему у тебя «_y», а не «_ИГРЕК»?
Вообще-то все должно быть по-английски.

А ещё, я так и не понял, что ты хочешь сделать.

Старый 04.12.2006, 16:54
FourSide вне форума Посмотреть профиль Отправить личное сообщение для FourSide Найти все сообщения от FourSide
  № 5  
Ответить с цитированием
FourSide

Регистрация: Jul 2006
Сообщений: 387
Отправить сообщение для FourSide с помощью Skype™
"... при нажатии на него..." - это событие onPress / onRelease. Переопределяйте эти события (или одно из них) и всё будет.

По коду ничего не понятно - названия методов и классов по-русски - жутчайший моветон, особенно вкупе с комментариями по-английски. Желания разбирать такой код нет.
Ну и как таковой вопрос до конца неясен - что именно не получается из двух задач: отлов нажатия на мувик или передача данных?

Старый 04.12.2006, 20:22
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 6  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: 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);
то есть на экране появляется 2 кружокa,
что надо написать в классе чтобы я мог написать что-то в роде:
Код:
 pepsi.onPress = function(){	
	fscommand("quit");
}
cola.onPress = function(){	
	attachMovie("a", "fanta", 1);
}


Код:
class Sprite{
private var _mc:MovieClipprivate 
var _isActive:Boolean
function Sprite(timeline:MovieClip, sourceMc:String, nameMc:String, sloi:Number, px:Number, py:Number){
_mc = timeline.attachMovie(sourceMc, nameMc, sloi)
_mc._x = px
_mc._y = py
}
}

Старый 04.12.2006, 20:30
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
_mc.onRelease = function() {
   …
}
А если нужно перенаправить вызов в метод класса — нужно использовать Delegate, ищи на форуме примеры.

Старый 05.12.2006, 20:20
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 8  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: 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();
	}
}
создаю объект, чтобы при нажатии вызывался новый
Код:
var a:Bot=new Bot(_root,«a»,10,10,_root.attachMovie("a","a2",5));
может, что не так пишу, прошу конкретной помощи

Старый 06.12.2006, 11:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: 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));
А вообще так не делается.

з.Ы. На работоспособность не проверял.

Старый 06.12.2006, 20:20
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 10  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: Jun 2006
Сообщений: 60
Почетаемый __etc, неработоспособно, что делать, в чем обшибка? И что я за это тебе должен?

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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