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

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

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

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
По умолчанию [mxmlc] Не могу скомпилировать два *.as файла

Здравствуйте!


Имеется у меня два файла - Main.as и PushButton.as.

Main.as:
Код AS3:
package 
{
 import flash.display.Sprite;
 import flash.text.TextField;
 
 include "PushButton.as";
 
 public class Main extends Sprite 
 {
 
  public function Main() 
  {
   var display_txt:TextField = new TextField();
   display_txt.text = "This is text";
   addChild(display_txt);
 
   var button:PushButton=new PushButton(10,10,50,20,"This is button");
   addChild(button);
  }
 }
}
PushButton.as:
Код AS3:
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.display.SimpleButton;
 
public class PushButton extends SimpleButton
{
 
 private var button_label:TextField;
 private var button_width:Number=0;
 private var button_height:Number=0;
 private var button_x:Number=0;
 private var button_y:Number=0;
 
 public function PushButton(buttonX:Number, 
                            buttonY:Number, 
                            buttonWidth:Number, 
                            buttonHeight:Number, 
                            buttonText:String)
 {
  button_label=new TextField();
  button_label.text=buttonText;
  button_label.selectable = false;
  button_label.x=buttonWidth/2;
  button_label.y=buttonHeight/2;
 
  button_x=buttonX;
  button_y=buttonY;
  button_width=buttonWidth;
  button_height=buttonHeight;
 
  super.upState(button_sprite(0x888888));
  super.overState(button_sprite(0x999999));
  super.downState(button_sprite(0xAAAAAA));
  super.hitTestState(button_sprite(0xBBBBBB));
 
  super.x=buttonX;
  super.y=buttonY;
 }
 
 
 function button_sprite(color:uint = 0x888888):Sprite
 {
  var b_sprite:Sprite=new Sprite();
 
  b_sprite.graphics.lineStyle(1);
  b_sprite.graphics.beginFill(color);
  b_sprite.graphics.drawRoundRect(0, 0, button_width,  button_height, 1);
  b_sprite.graphics.endFill();
 
  b_sprite.addChild(button_label);
 
  return b_sprite;
 }
}
Компилирование провожу командой:

Код:
mxmlc Main.as
В результате, во время компиляции появляется сообщение:

Цитата:
Main.as: Ошибка: Файл, найденный по исходному пути, не может иметь более одного определения, видимого вне программы. PushButton;Main
Что сие значит? Что неправильно в вышеприведенном коде?
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 03.10.2010, 23:55
VVall вне форума Посмотреть профиль Отправить личное сообщение для VVall Найти все сообщения от VVall
  № 2  
Ответить с цитированием
VVall

Регистрация: Feb 2009
Сообщений: 1,195
А где package во втором файле?

Edit: не заметил include. Насколько я помню, mxmlc не любит, когда объявляется больше одного класса в одном файле, и с точки зрения компилятора сейчас у вас один файл. Поэтому include убрать, добавить package во втором файле аналогично первому.


Последний раз редактировалось VVall; 03.10.2010 в 23:57.
Старый 04.10.2010, 00:35
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 3  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от VVall Посмотреть сообщение
Насколько я помню, mxmlc не любит, когда объявляется больше одного класса в одном файле, и с точки зрения компилятора сейчас у вас один файл. Поэтому include убрать, добавить package во втором файле аналогично первому.
Угу, получилось скомпилить, спасибо.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

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

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

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


 


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


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