PDA

Просмотр полной версии : Переменной не присваивается значение


Vansimar
09.10.2013, 17:21
var hitBox: Sprite = new Sprite();
hitBox.x= this.x;
hitBox.y = this.y;
hitBox.width = 100;
hitBox.height = 200;
addChild(hitBox);

пробую сделать так trace(hitBox.width); выдает 0, что я не правильно сделал?

Akopalipsis
09.10.2013, 17:26
Вы не нарисовали сам спрайт.

Vansimar
09.10.2013, 17:26
Всмысле?

Akopalipsis
09.10.2013, 17:26
Вы задали ширину "нечему".

Добавлено через 1 минуту
var hitBox:Sprite = new Sprite();
hitBox.graphics.drawRect(0, 0, 100, 200);

Vansimar
09.10.2013, 17:32
сделал так var hitBox:Sprite = new Sprite();
this.addChild(hitBox);
debug = new Shape();
debug.graphics.lineStyle(2, 0xFF0000);
debug.graphics.drawRect(this.x, this.y, 100,200);
hitBox.addChild(debug);

почему у меня не отрисовывается графика?

Rivexe
09.10.2013, 17:41
debug = new Shape();

debug где нибудь ранее хоть объявляется?
var debug:Shape

Vansimar
09.10.2013, 17:42
да private var debug:Shape;

Akopalipsis
09.10.2013, 17:43
У меня тоже не отображается..
package
{
import flash.display.Shape;
import flash.display.Sprite;

public class Main extends Sprite
{

public function Main()
{
var shape:Shape = new Shape();
shape.graphics.beginFill(0xD57187);
shape.graphics.drawCircle(100, 100, 100);
shape.graphics.endFill();
addChild(shape);
}

}

}

in4core
09.10.2013, 17:47
Akopalipsis - брехня

Rivexe
09.10.2013, 17:47
Вы серьезно?

http://savepic.su/3483029m.png

http://savepic.su/3486101m.png

Vansimar
09.10.2013, 17:47
вот если так stage.addChild(debug); то рисует а в спрайте не хочет

Добавлено через 2 минуты
Или вот hitBox.addChild(debug); //так спрайт не рисуется
hitBox.addChild(weapon); //а вот этот рисуется

Akopalipsis
09.10.2013, 17:51
Akopalipsis - брехня
ахахаха Вы правда думаете что я обманываю чтоль))) Правда не показывает.

Rivexe
09.10.2013, 17:52
Рисуй в самом спрайте.

var hitBox:Sprite = new Sprite();
var g:Graphics = hitBox.graphics;
g.lineStyle(2, 0xFF0000);
g.drawRect(this.x, this.y, 100,200);
this.addChild(hitBox);

Akopalipsis
09.10.2013, 17:54
Вобщем когда я вставил код ТС у меня вылетела какая то ошибка, перезапустил FD и все заработало.

Rivexe
09.10.2013, 17:54
ахахаха Вы правда думаете что я обманываю чтоль))) Правда не показывает.

Пример выполнения вашего кода:
http://savepic.su/3486101m.png

Ищите проблемы на вашей стороне.

Vansimar
09.10.2013, 17:55
Забыл сказать ,что спрайт у меня движка Starling

Rivexe
09.10.2013, 18:03
И у вас старлинг не руганулся на такие действия? Ни единой ошибки в консоле?
stage.addChild(debug);
hitBox.addChild(debug);

Vansimar
09.10.2013, 18:05
Ни единой ошибки(

Rivexe
09.10.2013, 18:12
var shape:Shape = new Shape();
shape.graphics.lineStyle(2, 0xFF0000);
shape.graphics.drawRect(0, 0, 100, 200);

var bmd:BitmapData = new BitmapData(100, 200);
bmd.draw(shape);

var texture:Texture = Texture.fromBitmapData(bmd);
var image:Image = new Image(texture);

var hitBox:Sprite = new Sprite();
hitBox.addChild(image);
addChild(hitBox);