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

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

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

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
По умолчанию Передача параметров через объект в другой класс.

Код AS3:
 
// пример:
 
// есть простенький класс, объект.
 
public class MyClass
{
	public function MyClass (args:MyStyle) 
	{
		// ...
	}
}
 
// есть к нему стили
 
public class MyStyle
{
	static public function BLACK(fName:String):Object 
	{
		var _BLACK:Object = { };
		    _BLACK.fName = fName;
 
		return _BLACK;
	}
}
// что пытаюсь сделать я:
 
public class Main extends Sprite 
{
	public function Main():void 
	{
		var myClass:MyClass = new MyClass (MyStyle.BLACK("Hello world"));	
	}
}
 
// Подскажите пожалйста, что я делаю не так?
 
// или, всё же было бы удобнее сделать так:
 
var myClass:MyClass = new MyClass (MyStyle.BLACK, "Hello world");
 
// где "MyStyle.BLACK" строковая константа а в классе "MyClass" 
// был бы метод который запрашивает настройки согласно критериям константы у "MyStyle"?
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

Старый 02.09.2011, 02:17
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 2  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
в чем проблема ?

Добавлено через 8 минут
Код AS3:
public function MyClass (args:Object) 
	{
		// ...
	}
смотри, у тебя же статическая функция(пишется с маленькой буквыв black!) возвращает _BLACK(тоже маленькими! _black) который в свою очередь есть объект(var _BLACK:Object = { }. Дальше ты этот Объект передаешь параметром, но мтеод должен принять тип параметра MyStyle и тут наверно и возникает ошибка.
__________________
мира и гармонии

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

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
хитрый поворот событий =)
вот это уже вопрос!
Цитата:
Сообщение от 3p.station Посмотреть сообщение
в чем проблема ?
а не, маленькая - большая, меня воспитали писать статические и константы в ВЕРХНЕМ регистре. А за прописные получал подзатыльники.

Проблема в том что хочу передавать объект "явного" типа данных собержащий некие аргументы.
т.е. создавая объект (new MyClass) я не ошибся в передаче нужных параметров (MyStyle) классу (MyClass). Но предварительно задать этому объекту данных(MyStyle) некие аргументы.

Добавлено через 4 минуты
Вот и прошу помочь выбрать или подсказать или ткнуть пальцем, что я делаю не так?
Я уже и через интерфейсы пробовал. Пишет что статика должна работать только в статичном(т.е. в своём) классе, а мне желательно передавать только (MyStyle) данные и ни каких других.

Добавлено через 1 час 14 минут
Код AS3:
// Вышел вот на такое создание объекта с некими аргументами.
var newText:MyTextField = new MyTextField ("Hello world!", StyleFonts.BLACKSHADOW ("arial", 24) );
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

Старый 02.09.2011, 12:09
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 4  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
ну так и передавай объект явного типа.
Код AS3:
var myStyle:MyStyle = new MyStyle();
myStyle.black("kuku");
var myClass:MyClass = new MyClass (myStyle);
тоько, в этом случае в классе MyStyle не нужно юзать статики...
__________________
мира и гармонии

Старый 02.09.2011, 13:59
stweet вне форума Посмотреть профиль Отправить личное сообщение для stweet Найти все сообщения от stweet
  № 5  
Ответить с цитированием
stweet
 
Аватар для stweet

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
спасибо, думал есть более проще вариант. Остановился на
Код AS3:
var newText:MyTextField = new MyTextField ("Hello world!", StyleFonts.BLACKSHADOW ("arial", 24) );
т.е. смирился с Object. Пока это самый удачный вариант.
Надо попробовать унаследоваться от Object и попробовать принимать только наследника.
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

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

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

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


 


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


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