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

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

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

Регистрация: Mar 2008
Сообщений: 29
По умолчанию Как подключить к MXML пакет AS3

Здравствуйте.
Я новичек и в АС 3 и во Флекс. Потому появилась проблема.
Создаю во Флекс MXML Application проэкт + в libs создаю файлик AS со своими классами и методами.
В проэкте пишу creationComplete="имя метода" или на буттон click="имя метода", выдает ошибку 1180: Call to a possibly undefined method qqq.

Если делаю вот так:
Код:
<mx:Script>
	import FirstProject;
</mx:Script>
Ошибка исчезает но ничего не делает
Вот код АС3 файла FirstProject.as:
Код:
package 
{
	public class FirstProject
	{
		public function FirstProject()
		{
			trace("qwd");
		}
		
		public function qqq(){
			trace("sdf");
		}

	}
}

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

Регистрация: Sep 2002
Сообщений: 30,787
А что вы хотели сказать компилятору импортом класса?

Старый 13.07.2008, 20:27
UnVisible вне форума Посмотреть профиль Отправить личное сообщение для UnVisible Найти все сообщения от UnVisible
  № 3  
Ответить с цитированием
UnVisible

Регистрация: Mar 2008
Сообщений: 29
Хотел сказать компилятору что у меня есть такие вот класы с такими методами, иначе как он их найдет? (я пхп программист) Например чтобы ПХП скрипт увидел класс, его естественно сначала нужно вставить примерно так:
Код:
require_once './Main.class.php';
Вообщем суть в том, как заставить MXML проэкт видеть созданные АС файлы с классами, дабы весь АС код выносить за MXML файл и не писать
<mx:Script>
....


Последний раз редактировалось UnVisible; 13.07.2008 в 20:29. Причина: Недописал =)
Старый 13.07.2008, 21:30
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну так вы же вызываете методы mxml-класса, которых у него отродясь не было. Импорт роли не играет.

Старый 14.07.2008, 15:26
UnVisible вне форума Посмотреть профиль Отправить личное сообщение для UnVisible Найти все сообщения от UnVisible
  № 5  
Ответить с цитированием
UnVisible

Регистрация: Mar 2008
Сообщений: 29
Это понятно. Ну так как решить эту проблему? Или это нереально?
Ужасно не хочется делать с кода кашу.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Скомпилировать классы в SWC и подключать как ресурс. (если пакет менять не предполагается)
или
оформить в MXML компонент
Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    backgroundGradientColors="[0xFFFFFF, 0xAAAAAA]"
    horizontalAlign="left"
    verticalGap="15"
    horizontalGap="15"
    applicationComplete="appComplete();">

    <mx:Script>
        <![CDATA[
           import org.wvxvw.flextest.Test;
           private function appComplete():void {
                 this.addChild(new Test());
            }
         ]]>
    </mx:Script>

</mx:Application>
Код:
package org.wvxvw.flextest
{
	import mx.core.UIComponent;

	public class Test extends UIComponent
	{
		public function Test()
		{
			super();
			this.graphics.beginFill(0);
			this.graphics.drawRect(0, 0, 100, 100);
			this.graphics.endFill();
		}
		
	}
}
Только чур ногами не пинать =)
Это даже не пример, это просто чтобы какое-то направление дать, так делать не надо =)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 14.07.2008 в 16:05.
Старый 14.07.2008, 16:10
Захаров вне форума Посмотреть профиль Отправить личное сообщение для Захаров Найти все сообщения от Захаров
  № 7  
Ответить с цитированием
Захаров

Регистрация: Oct 2007
Сообщений: 66
Вероятно ему хочеться вот так:

Код:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Script>
        <![CDATA[
        	
            //Импотрировали класс
            import FirstProject;
            //Создали экземпляр класса FirstProject
            private var newFirstProject:FirstProject = FirstProject()

//функция перехвата события нажатия на кнопку
            private function onClick(evt:Event)
            {
//вызов вункции у экземпляра класса FirstProject
               newFirstProject.qqq();
             }
        ]]>
    </mx:Script>
<mx:Button click="onClick(event)" />
</mx:Application>


Последний раз редактировалось Захаров; 14.07.2008 в 18:02.
Старый 14.07.2008, 17:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Захаров, отредактируйте свой пост и оформите код тегами [code][/code].

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

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

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


 


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


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