Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка при использовании классов Bitmap, BitmapData (http://www.flasher.ru/forum/showthread.php?t=120996)

Sajaxt 04.02.2009 21:29

Ошибка при использовании классов Bitmap, BitmapData
 
Доброе время суток!

Изучаю АС3 по учебнику. В учебнике предоставлен пример работы с методом perlinNoise(); Как я понял, должен создаться объект BitmapData размерами 150 на 150 для создания эффекта зелёных и синих облаков.
Всё хорошобы, но выдаёт следующую ошибку:

Description:
1120: Access of undefined property BitmapDataChannel.

Source:
var channels:uint = BitmapDataChannel.GREEN|BitmapDataChannel.BLUE;

и это дважды.

А вот собствено и сам код:

Код AS3:

package
{
                import flash.display.Sprite;               
                import flash.display.Bitmap;
                import flash.display.BitmapData;
 
                public class main extends Sprite{
 
                        public function main(){
 
                                var myBitmapDataObject:BitmapData = new BitmapData(150,150,false,0x00FF000000);
                                var seed:Number = Math.floor(Math.random()*100);
                                var channels:uint = BitmapDataChannel.GREEN|BitmapDataChannel.BLUE;
 
                                myBitmapDataObject.perlinNoise(100,80,6,seed,false,true,channels,false,null);
 
                                var myBitmap:Bitmap = new Bitmap(myBitmapDataObject);
 
                                addChild(myBitmap);
 
                        }
                }               
}


etc 04.02.2009 21:42

А импортировать соответствующий класс не пробовали?

Sajaxt 04.02.2009 21:47

Так в том то и дело что он импортирован....разве что сдесь ещё чтото надо импортировать...

Alex Lexcuk 04.02.2009 21:54

Код:

package {
        import flash.display.*;
        public class DocPerlinNoise extends Sprite {
                public function DocPerlinNoise() {
                        var myBitmapDataObject:BitmapData = new BitmapData(150,150,false,0x00FF000000);
                        var seed:Number = Math.floor(Math.random()*100);
                        var channels:uint = BitmapDataChannel.GREEN|BitmapDataChannel.BLUE;
                        myBitmapDataObject.perlinNoise(100,80,6,seed,false,true,channels,false,null);
                        var myBitmap:Bitmap = new Bitmap(myBitmapDataObject);
                        addChild(myBitmap);
                }
        }
}

Вот так работает

Sajaxt 04.02.2009 22:04

Всё работает, спасибо большое!
ЕНо всё интересно, в чем была проблема, я так и не понял...

ramshteks 04.02.2009 22:11

вот решение вашей проблемы

Код AS3:

import flash.display.*;


vigor 04.02.2009 22:22

Ты использовал класс BitmapDataChannel, импорта его не было, поправили в коде
Код AS3:

import flash.display.Sprite;                
import flash.display.Bitmap;
import flash.display.BitmapData;

на
Код AS3:

import flash.display.*;

те импортировали все классы из пакета display, и все заработало


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

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