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

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

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

Регистрация: Nov 2006
Сообщений: 76
Отправить сообщение для mr.zed с помощью ICQ
По умолчанию класс от MovieClip. посмотрите, пож-та..

Суть: картинки в бибилиотеке (цветочки). Надо их множить на экране. Для этого создал класс picFlower чтобы потом создавать переменные pic01, pic02, pic03 и т.д. и что бы иметь возможность ими управлять. Но на экране пусто. При отладке шаг "1" проходит, а "2" нет.

есть класс picFlower.as:
Код:
import flash.display.BitmapData;
class picFlower extends MovieClip {
  var pic01:MovieClip;
  var pic02:MovieClip;
  function picFlower(mc,x1,y1){
     trace(1);
     createEmptyMovieClip(mc,0);
     mc._x=x1; mc._y=y1;
     pic01=mc.createEmptyMovieClip("pic01",0);
     pic01.attachBitmap(BitmapData.loadBitmap("Fl0201",0),0);
     pic02=mc.createEmptyMovieClip("pic02",2);
     pic02.attachBitmap(BitmapData.loadBitmap("Fl0202",0),0);
     pic01._y=-64; pic02._y=-11;
  }
  function onEnterFrame (){
     trace(2);
     if(_Xscale<100){
          this._rotation++; this._Xscale++; this._Yscale++;
     }
  }
}
во флеше пишу: (наверное неправильно, но пробовал по-разному)
Код:
var pic02=new picFlower(pic02,150,150);
var pic03=new picFlower(pic03,300,300);
Заранее спасибо.

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

Регистрация: Sep 2002
Сообщений: 30,787
Имена классов должны начинатся с прописной буквы.
Твой класс не является наследником MovieClip (мувикливы не создаются через конструктор), так что объявление extends MovieClip лишнее.
Нужно использовать attachMovie и параметры клипа передавать четвертым аргументом. Тогда использование extends MovieClip оправдано.

Старый 16.01.2007, 21:35
mr.zed вне форума Посмотреть профиль Отправить личное сообщение для mr.zed Найти все сообщения от mr.zed
  № 3  
Ответить с цитированием
mr.zed
 
Аватар для mr.zed

Регистрация: Nov 2006
Сообщений: 76
Отправить сообщение для mr.zed с помощью ICQ
Цитата:
Сообщение от __etc
Нужно использовать attachMovie и параметры клипа передавать четвертым аргументом. Тогда использование extends MovieClip оправдано.
так понимаю, что в если использовать class PicFlower extends MovieClip, то уже создается клип, к которому нужно аттачить битмапы? Я пометил красным, где не могу разобраться. Подскажите. сам уже киплю просто.
Код:
import flash.display.BitmapData;
class PicFlower extends MovieClip {
  var pic01:MovieClip;
  var pic02:MovieClip;
  function PicFlower(x1,y1){
    trace(x1+" "+y1);
    this._x=x1; this._y=y1;

    ??????attachMovie("mc","pic01",0);
    pic01.attachBitmap(BitmapData.loadBitmap("Fl0201",0),0);
  }
}
Наворотил дров.......

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

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

В руте (допустим), пишешь:
Код:
import PicFlower;
var pic:PicFlower = PicFlower(this.attachMovie("picFlowerId","pic0",0,{x1:10,x1:30}));
Класс PicFlower при этом должен выглядеть примерно так:

Код:
import flash.display.BitmapData;
class PicFlower extends MovieClip {
    private var pic01:MovieClip;
    private var pic02:MovieClip;
    private var x1:Number;
    private var y1:Number;
    private function PicFlower() {
        super();
        this._x = this.x1;
        this._y = this.y1;

        this.pic01 = this.attachMovie("mc","pic01",0);
        this.pic01.attachBitmap(BitmapData.loadBitmap("Fl0201",0),0);
    }
}


Последний раз редактировалось etc; 17.01.2007 в 11:14.
Старый 17.01.2007, 16:26
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 5  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от __etc
Код:
import PicFlower;
var pic:PicFlower = PicFlower(this.attachMovie("picFlowerId","pic0",0,{x1:10,x1:30}));
Это точно? а не так?
Код:
import PicFlower;
var pic:PicFlower = this.attachMovie("picFlowerId","pic0",0,{x1:10,x1:30});
Может я что-то не понимаю..

Старый 17.01.2007, 10:31
mr.zed вне форума Посмотреть профиль Отправить личное сообщение для mr.zed Найти все сообщения от mr.zed
  № 6  
Ответить с цитированием
mr.zed
 
Аватар для mr.zed

Регистрация: Nov 2006
Сообщений: 76
Отправить сообщение для mr.zed с помощью ICQ
СПАСИБО!!!!

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

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
или создаем через __proto__

вот например - http://orangeflash.eu/?p=10
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

Регистрация: Sep 2002
Сообщений: 30,787
У меня этим же занимается McFactory, но __proto__ не есть правильная вещь, если применяется не сознательно.

mr.zed, я там super ещё добавил.

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

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

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

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

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


 


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


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