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

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

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

Регистрация: Dec 2006
Сообщений: 35
По умолчанию Создание класса, не могу изменить свойста (переменные)

Что не мучил, как не читал, ничего не меняется...помогите плс
Код:
class Machine extends MovieClip {
	var _speed:Number;
	function Machine (x:Number,y:Number,speed:Number) {
		_x = x;
		_y = y;
		moves(speed)
	}
	function moves (a:Number):Void{//Здесь вижу _speed
		_speed+=a;
	}
	function onEnterFrame ():Void{//здесь выдает Nan
		trace(_speed)
	}
}
в "onEnterFrame" "_x" и "_y" - вижу, а вот в "_speed" никак(( В чем проблема?

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

Регистрация: Sep 2002
Сообщений: 30,784
undefined + некоторое число выдаст NaN, ничего удивительного.

Старый 29.01.2008, 14:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Почему же? NaN значит только, что значение не является числом (Not a Number) что-то не так с передаваемыми аргументами.
__________________
Hell is the possibility of sanity

Старый 29.01.2008, 14:33
TioN вне форума Посмотреть профиль Отправить личное сообщение для TioN Найти все сообщения от TioN
  № 4  
Ответить с цитированием
TioN

Регистрация: Dec 2006
Сообщений: 35
Код:
class Machine extends MovieClip {
	var _speed:Number=0;
	function Machine (x:Number,y:Number,speed:Number) {
		_x = x;
		_y = y;
		_speed = speed;
	}
	function onEnterFrame ():Void{
		trace(_speed)		
	}
}
Почему выдает андифинит?(
_etc: я знаю, что ты знаешь но молчишь(
Как передать в onEnterFrame свойство _speed

Старый 29.01.2008, 14:37
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
1. Классы расширяющие MovieClip не создаются с помощью new, поэтому передать им аргументы в конструкторе невозможно.
2. Значения не static свойств, надо задавать в конструкторе или еще где-то, но не при объявлении свойства.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 29.01.2008 в 14:40.
Старый 29.01.2008, 15:12
TioN вне форума Посмотреть профиль Отправить личное сообщение для TioN Найти все сообщения от TioN
  № 6  
Ответить с цитированием
TioN

Регистрация: Dec 2006
Сообщений: 35
Цитата:
Сообщение от iNils
1. Классы расширяющие MovieClip не создаются с помощью new, поэтому передать им аргументы в конструкторе невозможно.
2. Значения не static свойств, надо задавать в конструкторе или еще где-то, но не при объявлении свойства.
Покажите тогда кто нить пример класса который наследует MovieClip и двите обьект в заданом напавлении. Т.е. при onEnterFrame - _x+=a

Старый 29.01.2008, 15:39
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 7  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
http://www.flasher.ru/forum/showthread.php?t=107038

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
Код:
import mx.utils.Delegate;

class Machine {
	private var speed:Number = 0;
	private var mc:MovieClip;
	
	public function Machine(mc:MovieClip, x:Number, y:Number, speed:Number) {
		mc._x = x;
		mc._y = x;
		this.speed = speed;
		mc.onEnterFrame = Delegate.create(this, enterFrame);
	}
	function enterFrame():Void{
		trace(speed)		
	}
}

//vo fla:
//car - muvik na scene
var mach:Machine = new Machine(car, 10, 20, 2);
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 29.01.2008, 16:13
TioN вне форума Посмотреть профиль Отправить личное сообщение для TioN Найти все сообщения от TioN
  № 9  
Ответить с цитированием
TioN

Регистрация: Dec 2006
Сообщений: 35
Спасибо! Все разобрался)))


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

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

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


 


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


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