10.2 и нативные курсоры

для тех, кто не хочет возиться так же как я при использовании нативных курсоров из flash 10.2 есть несколько полезных советов

- скачать последнюю версию haxe (автоматический билд, на момент написания это r3794)
- для владельцев flashdevelop (по сути к делу это не относится, но в текущем релизе нельзя выбрать версию плеера 10.2) - обзавестись flashdevelop 4
- прочитать внимательно этот тред на офф. форуме
- преобразовать код из туториала в нечто подобное:

import flash.ui.Mouse;
import flash.ui.MouseCursor;
import flash.ui.MouseCursorData;

static function main()
{
        var cursorData : MouseCursorData = new MouseCursorData(); // Create a MouseCursorData object
        cursorData.hotSpot = new Point(0, 0);   // Specify the hotspot
        var bitmapDatas : Vector<BitmapData> = new Vector<BitmapData>(1, true); // Pass the cursor bitmap to a BitmapData Vector
        var bitmap : Bitmap = new Bitmap( /* подставить сюда заполнение BitmapData */ ); // Create the bitmap cursor
        bitmapDatas[0] = bitmap.bitmapData; // Pass the value to the bitmapDatas vector
        cursorData.data = bitmapDatas; // Assign the bitmap to the MouseCursor object
        Mouse.registerCursor("sizeh", cursorData); // Register the MouseCursorData to the Mouse object with an alias
        untyped { Mouse.cursor = "sizeh"; }
}

- радоваться сэкономленному времени

думаю, что к 2.08 все будет исправлено

Комментарии

Ну выбрать

Ну выбрать флешплеер 10.2 может и нельзя, а компилировать никто не запрещает с парметром
-swf-version 10.2

Кстати, не обязательно забирать ночную сборку, можно пользоваться и 2.07, приладив костыль:

package ;
import flash.ui.Mouse;
class Kostil
{
    public static function addNative(
                name:String, data:flash.Vector<flash.display.BitmapData>, frameRate:Float,
                hotSpot:flash.geom.Point)
        {
                var mouseCursorData: {
                        data:flash.Vector<flash.display.BitmapData>,
                        frameRate:Float,
                        hotSpot:flash.geom.Point,
                        name:String
                } = untyped __new__(__global__["flash.ui.MouseCursorData"]);
                mouseCursorData.data = data;
                mouseCursorData.frameRate = frameRate;
                mouseCursorData.hotSpot = hotSpot;
               
                untyped Mouse["registerCursor"](name, mouseCursorData);
        }
}
        ...
        var data = new Vector();
        data[0] = myCursorBitmapData;
        Kostil.addNative("myCursor", data, 1, new Point(10, 10));
        Mouse.cursor = cast "myCursor"

P.S. Печально, но в 2.07 не один флешовый класс по неправильным пакетам раскидали или в имени ошиблись, благо исправляют и заткнуть самому очень просто.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Use [gist:####] where #### is your gist number to embed the gist.

Подробнее о форматировании

CAPTCHA
Для отсева спамеров
6
7
7
i
e
x
Enter the code without spaces and pay attention to upper/lower case.