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

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

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

Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
По умолчанию помогите с ошибкой , появилась ни с того ни с сего

1)обращение к возможно неопределённому методу id через ссылку статического типа Class
2)неявное исправление значения статического типа Object на возможный несвязанный тип int


ругается на:
Код AS3:
id2 = mainPlate_.getChildAt(i - 2) as Element.id;
этот код берёт айдишник клипа, который ледит под перетаскиваемым(отпускаемым) клипом

раньше всё было ок, но вдруг перестало компилиться, я в недоумении, помогите пожалуйста)


Код AS3:
package main
{
	import flash.display.*;
	import flash.events.*;	
	import flash.text.*;
	import fl.transitions.*;
	import fl.transitions.easing.*;
 
	public class <b>Elementb> extends MovieClip
	{
		private var _id:int = 0;
 
		public function Element( id:int, picture:Class, name:String )
		{
			_id = id;
 
			var pic:MovieClip = new picture();
			pic.mouseEnabled = false;
			var nameString:TextField = new TextField();
			nameString.text = name;
			nameString.background = false;
			nameString.width = getWidth(name);
			nameString.height = 22;
			nameString.selectable=false;
			nameString.border=false;
			var format:TextFormat = new TextFormat();
			format.font = "Consolas";
			format.color = 0x000000;
			format.size = 16;
			format.align = TextFormatAlign.CENTER; 
			nameString.setTextFormat(format);
			nameString.mouseEnabled = false;
			this.addChild(pic);
			this.addChild(nameString);
			nameString.x=pic.x-getWidth(name)/2;
			nameString.y=pic.y+20;
			TransitionManager.start( pic, { type:Fade, direction:0, duration:0.5, easing:None.easeNone});
		}
		public function getWidth(text:String):uint
		{
			var pix:uint = text.length*10;
			return pix;
		}
 
		<b>public function get id():int
		{
			return _id;
		}b>
		public function getStringNum(text:String):uint
		{
			var stringNum:uint = 1;
			for(var i:int=0;i<text.length;i++)
			{
				if(text.charCodeAt(i)==1)
				{
					stringNum++;
				}
			}
 
			return stringNum;
		}
		public function getHeigh(text:String):uint
		{
			var pix:uint = getStringNum(text)*20;
			return pix;
		}
	}
}


Последний раз редактировалось A1R1NG; 25.01.2012 в 18:22.
Старый 25.01.2012, 18:12
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Код AS3:
id2 = mainPlate_.getChildAt(i - 2) as int
Код AS3:
id2 = mainPlate_.getChildAt(i - 2) as Element
смотря что в id2
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
fix 1: если у вас в классе описан get-метод, то обращаться к id следует просто как к полю класса.
Код AS3:
id2 = mainPlate_.getChildAt(i - 2) as Element.id;
fix 2: вероятно метод getChildAt() возвращает объект класса DisplayObject. Непонятно каким образом он должен быть приведен к int, которым является Element.id.
fix 3: переименуйте тему - закроют.


Последний раз редактировалось bav; 25.01.2012 в 18:17.
Старый 25.01.2012, 18:20
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Да я ступил еще вариант
Код AS3:
id2 = mainPlate_.getChildAt(i - 2).id;
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 25.01.2012, 18:22
A1R1NG вне форума Посмотреть профиль Отправить личное сообщение для A1R1NG Найти все сообщения от A1R1NG
  № 5  
Ответить с цитированием
A1R1NG

Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
в id2 изначально записано -1, раньше же всё работало, записывался в id2 айдишник элемента....
работало вот так: (опечатался, поправил)
Код AS3:
id2 = mainPlate_.getChildAt(i - 2) as Element.id;
Добавлено через 2 минуты
если
Код AS3:
id2 = mainPlate_.getChildAt(i - 2).id;
пишет обращение возможного неопределённого свойства id через ссылку со статическим типом flash.display:GisplayObject

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Это ваш код?
Просто путать класс с экземпляром класса, дисплейобджект с интом, это как то странно.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 25.01.2012, 18:28
A1R1NG вне форума Посмотреть профиль Отправить личное сообщение для A1R1NG Найти все сообщения от A1R1NG
  № 7  
Ответить с цитированием
A1R1NG

Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
мой, но писал пол года назад и уже забыл чё там как)) да и новичок я
я ж их не путаю, я не понимаю почему перестало работать, я ничего там не менял

Старый 25.01.2012, 18:31
Stitch512 вне форума Посмотреть профиль Отправить личное сообщение для Stitch512 Найти все сообщения от Stitch512
  № 8  
Ответить с цитированием
Stitch512

Регистрация: Nov 2010
Сообщений: 150
Код AS3:
id2 = (mainPlate_.getChildAt(i - 2) as Element).id;
Скорее всего имелось ввиду вот это

Старый 25.01.2012, 18:32
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 9  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
не могло работать, скобок не хватает
Код AS3:
id2 = (mainPlate_.getChildAt(i - 2) as Element).id;
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 25.01.2012, 18:34
A1R1NG вне форума Посмотреть профиль Отправить личное сообщение для A1R1NG Найти все сообщения от A1R1NG
  № 10  
Ответить с цитированием
A1R1NG

Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
Цитата:
Сообщение от GBee Посмотреть сообщение
не могло работать, скобок не хватает
Код AS3:
id2 = (mainPlate_.getChildAt(i - 2) as Element).id;
спасиба)) заработало, но я клянусь раньше работало и код не изменялся

можно закрывать

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

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

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


 


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


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