![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
В as есть такая конструкция:
Эмбедит картинки, чтобы эту картинку вставить (а картинка юзается в нескольких местах), мне пришлось написать вот такую жесть: var btme:BitmapAsset=new elka() as BitmapAsset; var btmDatae:BitmapData=new BitmapData(btme.width,btme.height,true,0); btmDatae.draw(btme); var matrix:Matrix=new Matrix(); matrix.tx=0-btme.width/2-4; matrix.ty=-btme.height+20; sprite.graphics.lineStyle(0,0,0); sprite.graphics.beginBitmapFill(btmDatae,matrix,false,true); sprite.graphics.drawRect(matrix.tx,matrix.ty,btme.width,btme.height); |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Это не в AS, а во Flex исключительно.
В CS3 используется иная схема. Зачем в вашем коде промежуточный битмап — непонятно. |
|
|||||
|
Ну так оно работает, как в хелпе написано, а как без битмапа сделать?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А вы узнайте, что такое BitmapAsset и какие у него свойства есть.
|
|
|||||
|
Круто, у него есть свойство bitmapData, 2 строки порезал, спасибо.
Но вопрос остается в силе. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Написать стат. метод, возвращающий спрайт.
|
|
|||||
|
или я недопонял чего или автор не умеет сказать чего хочет или тут какая-то тень на плетень наводится..
а почему по по простому-то нельзя? package{
import flash.display.Sprite;
public class Main extends flash.display.Sprite{
public function Main():void {
var elka:Elka=new Elka();
addChild(elka);
}
}
}
import flash.display.Sprite;
import flash.display.Bitmap;
class Elka extends Sprite{
[Embed(source="elka.png")]
public static const ElkaPNG:Class;
public function Elka():void{
var el:Bitmap=new ElkaPNG();
addChild(el);
el.x=-width/2-4;
el.y=-height+20;
}
}
никакой тени: "Написать стат. метод, возвращающий спрайт" это уж кому чего надо package{
import flash.display.Bitmap;
import flash.display.Sprite;
public class Main extends flash.display.Sprite{
[Embed(source="elka.png")]
public static const ElkaPNG:Class;
public function Main():void {
var elka:Sprite=getElka();
addChild(elka);
}
public static function getElka():Sprite{
var sprite:Sprite=new Sprite();
var el:Bitmap=new ElkaPNG();
sprite.addChild(el);
el.x=-sprite.width/2-4;
el.y=-sprite.height+20;
return sprite;
}
}
}
Последний раз редактировалось silin; 27.11.2007 в 20:46. |
|
|||||
|
я тоже не до конца понял в чём загвоздка,
но может это то что надо... package packageName{
import flash.display.Bitmap;
import flash.utils.getDefinitionByName;
public class Assets{
[Embed(source="../../assets/icons/printer.png")]
public var PrinterIcon:Class;
public static const PRINTER_ICON:String = 'PrinterIcon';
[Embed(source="../../assets/icons/delete.png")]
public var DeleteIcon:Class;
public static const DELETE_ICON:String = 'DeleteIcon';
// и так далее...
public static function getIt(name:String):Bitmap{
var ref:Class = getDefinitionByName('packageName::Assets_'+name) as Class;
return new ref();
}
function Assets(){}
}
}
__________________
Хороший отдых - половина работы. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|