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

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

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

Регистрация: Jun 2005
Адрес: Ru, irk
Сообщений: 92
Отправить сообщение для AlDev с помощью ICQ Отправить сообщение для AlDev с помощью MSN Отправить сообщение для AlDev с помощью Yahoo
По умолчанию dynamic class create

Вообщем наступил на грабли...
требуется создать класс через его имя, откопал интересную доку:
http://www.gskinner.com/blog/archive...locations.html

однако, пробую:
Код:
function getInstanceOf(p_fullName:String):Object 
{
	var classPath:Array = p_fullName.split(".");
	var package:Object = _global;
	var l = classPath.length-1;
	for (var i:Number=0;i<l;i++) 
	{
		  package = package[classPath[i]];
	}
	var c:Function = package[classPath[classPath.length-1]];
	var instance:Object = new c();
	return instance;
}
var a = getInstanceOf("classes.map.layers.landscape");
trace (a);
stop();
на выходе идёт undefined, хотя класс существует...
не могу понять, в чём проблема...
помогите, pls
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде
---
my blog:
http://batsuev.com/wp/

Старый 11.06.2005, 20:40
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 2  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
В моем случае(перед вызовом функции, создал экземпляр, для того чтобы класс импортировался) возвращает object Object, правда я вопроса не понял.
Попробуй удостовериться, что класс существует...потому что если класс не используеться, то он и не импортируеться во флэшку.
Код:
function getInstanceOf(p_fullName:String):Object 
{
	var classPath:Array = p_fullName.split(".");
	var package:Object = _global;
	var l = classPath.length-1;
	for (var i:Number=0;i<l;i++) 
	{
		  package = package[classPath[i]];
		  trace(package)
	}
	var c:Function = package[classPath[classPath.length-1]];
	var instance:Object = new c();
	return instance;
}
var b:orange.utils.FPS = new orange.utils.FPS(20);
trace(getInstanceOf("orange.utils.FPS"));
import package.Class в данном случае не помогает.
если мы напишем
Код:
 import mx.controls
и в test movie нажмем crtl+shift+v то получим
Цитата:
Level #0:
Variable _level0.$version = "WIN 7,0,19,0"
а если
Код:
import mx.controls.*
var a = new CheckBox();
то получаем
Цитата:
Global Variables:
Variable _global.mx = [object #1, class 'Object'] {
core:[object #2, class 'Object'] {
UIObject:[function 'symbolOwner'],
UIComponent:[function 'symbolOwner']
},
skins:[object #5, class 'Object'] {
SkinElement:[function 'SkinElement']
},
styles:[object #7, class 'Object'] {
CSSTextStyles:[function 'CSSTextStylesDependency'],
CSSStyleDeclaration:[function 'CSSStyleDeclaration'],
StyleManager:[function 'StyleManager']
},
controls:[object #11, class 'Object'] {
SimpleButton:[function 'symbolOwner'],
Button:[function 'symbolOwner'],
CheckBox:[function 'symbolOwner']
}
}
Level #0:
Variable _level0.$version = "WIN 7,0,19,0"
Variable _level0.a = [object #15] {}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 11.06.2005, 20:43
AlDev вне форума Посмотреть профиль Отправить личное сообщение для AlDev Посетить домашнюю страницу AlDev Найти все сообщения от AlDev
  № 3  
Ответить с цитированием
AlDev
 
Аватар для AlDev

Регистрация: Jun 2005
Адрес: Ru, irk
Сообщений: 92
Отправить сообщение для AlDev с помощью ICQ Отправить сообщение для AlDev с помощью MSN Отправить сообщение для AlDev с помощью Yahoo
хмм... а если нет возможности создать по экземпляру класса?
каким образом тогда можно это обойти?
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде
---
my blog:
http://batsuev.com/wp/

Старый 11.06.2005, 20:47
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 4  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
как я уже сказал я не понял сути вопроса, тебе нужно создать в условиях AS1 класс написанный на AS2 ? если так то возможнсть уже присутствует(ибо тебе придеться выбрать в настройках AS2 для Flash 6 или 7) ...или я не догоняю?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 11.06.2005, 20:52
s_u_m_p вне форума Посмотреть профиль Отправить личное сообщение для s_u_m_p Посетить домашнюю страницу s_u_m_p Найти все сообщения от s_u_m_p
  № 5  
Ответить с цитированием
s_u_m_p

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
причем тут в условиях ас1 классы ас2??? человек хочет иметь возможность по названию класса создать объект! это как раз чистый ас2

ну проблемы ты правильно указал, если нету явного упоминания класса, его и не будет в результируещем свф, так что либо в библиотеки создать пустые мувы, которые будут связаны с теми классами которые нужны или запихнуть в свф все нужные классы через мтаск - мне так кажется
__________________
:::::::::::: sump ::::::::::::

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

Регистрация: Jun 2005
Адрес: Ru, irk
Сообщений: 92
Отправить сообщение для AlDev с помощью ICQ Отправить сообщение для AlDev с помощью MSN Отправить сообщение для AlDev с помощью Yahoo
так и думал, что придётся извращаться
спасибо за идею с mtasc

да и ещё один тупой вопрос из той-же серии....
как получить аргументы, передаваемые функции, достаточно просто и понятна (через arguments). А вот как эти аргументы потом передать конструктору класса в текущей функции?
то есть юзание
var a = getInstanceOf("classes.map.layers.landscape",val1,val2);
было-бы эквивалентно
var a = new classes.map.layers.landscape(val1,val2);
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде
---
my blog:
http://batsuev.com/wp/

Старый 11.06.2005, 20:52
AlDev вне форума Посмотреть профиль Отправить личное сообщение для AlDev Посетить домашнюю страницу AlDev Найти все сообщения от AlDev
  № 7  
Ответить с цитированием
AlDev
 
Аватар для AlDev

Регистрация: Jun 2005
Адрес: Ru, irk
Сообщений: 92
Отправить сообщение для AlDev с помощью ICQ Отправить сообщение для AlDev с помощью MSN Отправить сообщение для AlDev с помощью Yahoo
в условиях AS2 создать AS2 class. Это просто пример функции, на самом деле всё это по классам пораспихано и из классов вызывается

Цитата:
если так то возможнсть уже присутствует(ибо тебе придеться выбрать в настройках AS2 для Flash 6 или 7)
малость не понял, что ты хотел сказать этой фразой?
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде
---
my blog:
http://batsuev.com/wp/

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

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
потом импорт, это больше деректива к компилятору на сокращение пути к классу, тем более все это действует только в том кадре где импорт указан, естественно в данном случае не поможет....
__________________
:::::::::::: sump ::::::::::::

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

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

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


 


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


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