Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Nape] Как добавить графику к Body? (http://www.flasher.ru/forum/showthread.php?t=196796)

xrapa 29.03.2013 23:06

Как добавить графику к Body?
 
Как добавить графику к Body?
Пытался сделать как тут http://flashnotes.ru/nape-2-dobavim-grafiku.html , но у Body нет свойства graphic.
И еще бы свежих статей о Nape.

vorodis2 29.03.2013 23:12

В последнем релизе нейпа, ни как.
Там есть, короче смотрите эту демку, иам все есть
http://napephys.com/samples.html#swf-BodyFromGraphic

xrapa 30.03.2013 00:55

чет не чего не получается.

Код AS3:

var vvv:Compound=new Compound;
                          platformaxSrBody=new Body(BodyType.STATIC, new Vec2(0, 0));
                        platformaxSrBody.shapes.add(new Polygon(Polygon.box(Atlas.platformaxSrSprite.width,  Atlas.platformaxSrSprite.height), Material.steel()));
                        platformaxSrBody.isBullet=true;
 
                        platformaxSrBody.position.x=Atlas.platformaxLefSprite.width;
                        platformaxSrBody.position.y=HungryFrog.stageHeight/4;
                        var cabinIso:DisplayObjectIso = new DisplayObjectIso(Atlas.bonus3);
                        addChild(Atlas.bonus3);
                        platformaxSrBody =IsoBody.run(cabinIso, cabinIso.bounds);
                        platformaxSrBody.compound=vvv;
                        vvv.space=Game.space;

пишет ошибка в этой строчке
Код AS3:

platformaxSrBody =IsoBody.run(cabinIso, cabinIso.bounds);

и еще в 45 строчке класса IsoBody

Добавлено через 16 часов 41 минуту
Ну что не кто не знает?
И еще
Код AS3:

var stenaL:Function = function():DisplayObject {
                        var displayObject:Sprite = new Sprite();
 
                        displayObject.graphics.beginFill(0, 1);
                        displayObject.graphics.drawRect(0, 0, 1, stage.stageHeight);
 
                        displayObject.graphics.drawCircle(0, 0, 5);
                        displayObject.graphics.endFill();
                        return displayObject;}
                        var objIso:DisplayObjectIso = new DisplayObjectIso(stenaL());
 
                        addChild(objIso.displayObject);
                        var objBody:Body = IsoBody.run(objIso, objIso.bounds);

вот так все работает, но мне не нужен круг. если удалить строчку создания круга пишет ошибка

Добавлено через 71 час 23 минуты
оказывается все делается очень просто

Код AS3:

//создаем 2 переменные//
private var displayObject:DisplayObject;
private var position:Vec2;
//создаем боди и прекрепляем графику//
Mir.addChild(Atlas.platformamLefSprite);
                var platformMLB:Body=new Body(BodyType.DYNAMIC, new Vec2(0, 0));
                platformMLB.isBullet=true;
                Atlas.platformamLefSprite.width=(stage.stageWidth*46)/768;
                Atlas.platformamLefSprite.scaleY=Atlas.platformamLefSprite.scaleX;
                platformMLB.position.setxy(stage.stageWidth/2, stage.stageHeight/4.35);
                platformMLB.shapes.add(new Polygon(Polygon.box(Atlas.platformamLefSprite.width, Atlas.platformamLefSprite.height), Material.steel()));
                platformMLB.space=space;
                platformMLB.userData.graphic=Atlas.platformamLefSprite; //вот здесь прикрепляем графику
 
//следующюю функции вставляем там где space.step//
space.bodies.foreach(function (body:Body):void
                        {
                                position = body.position;
                                displayObject = body.userData.graphic;
                                displayObject.x = position.x;
                                displayObject.y = position.y;
                                displayObject.rotation = (body.rotation * 180/Math.PI) % 360;;
 
                        });

спасибо VirtualMaestro с flashnotes.ru


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

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