PDA

Просмотр полной версии : Не рисует линию.


proxiServer
13.11.2009, 11:34
var testSprite:Sprite = new Sprite();

testSprite.x=0;
testSprite.y=0;
testSprite.width=500;
testSprite.height=500;

testSprite.graphics.lineStyle(3,0);

testSprite.graphics.lineTo(100,100);
addChild(testSprite);


Собственно ничего не выводит. Не могу понять почему.

random13
13.11.2009, 11:36
testSprite.graphics.moveTo(0,0); пробовали?

proxiServer
13.11.2009, 11:38
random13 да, пробывал. И аддчайлд двигал в разные места.

random13
13.11.2009, 11:45
как то странно это все...

proxiServer
13.11.2009, 11:59
Вот исходник, может у меня глюк какой. Посмотрите пожалуйста кому не трудно.

random13
13.11.2009, 12:04
вообще говоря ваш исходник не должен работать или я чего то не понимаю

proxiServer
13.11.2009, 12:09
random13, в смысле не должен работать?

random13
13.11.2009, 12:10
выж вроде пишите под AS3 а у вас нет ни классов ни чего прочего, вроде конечно писать в кадрах можно но это не правильно с этим кодом нужно в другу ветку или перепишите под нормальный AS3

proxiServer
13.11.2009, 12:11
random13 у фрейма есть класс. Я код на кадр повесил.

random13
13.11.2009, 12:13
а нахрен так делать то?

Добавлено через 1 минуту
и куда же ваш класс ведет?

proxiServer
13.11.2009, 12:37
random13, разница то хоть есть? На кадре код не работает что ли? Я пробывал и с внешним классом и так. Такой вариант выложил для удобства тех, кто будет смотреть.

random13
13.11.2009, 12:40
как раз для удобства тех кто будет смотреть выкладывайте правильно оформленный проект, а это какая то хня если честно, счас сам перепишу и выложу

random13
13.11.2009, 12:51
вот что у меня получилось

proxiServer
13.11.2009, 13:11
random13, ваш вариант работает, спасибо большое. Опытным путем выяснил, что у меня не рисует линию если присутствуют эти две строчки:

testSprite.width=500;
testSprite.height=500;


Если их убираю, все рисуется и в двух моих вариантах. А если добавить, то рисоваться перестает и в вашем примере. У спрайта width heigth свойства есть вроде. Это тонкость такая или у меня глюк?

random13
13.11.2009, 13:20
тонкость в том что вы изменяли размеры у пустого спрайта, у него нет и не может быть размеров...
попробуйте после добавления на сцену изменить размеры

Добавлено через 3 минуты
и старайтесь все же работать с проектом как я показал

GentleFLASH
13.11.2009, 13:25
proxiServer вы пытаетесь задать размеры спрайту когда он еще пустой, следовательно он пытается растянуться до бесконечности. Судя по всему во флэше этот вариант предусмотрен и scaleX и/или scaleY устанавливается в ноль:


var testSprite:Sprite = new Sprite();

testSprite.x=0;
testSprite.y=0;

// 1 : 1
trace( testSprite.scaleX + " : " + testSprite.scaleY );

testSprite.width=500;
testSprite.height=500;

// 0 : 0
trace( testSprite.scaleX + " : " + testSprite.scaleY );

proxiServer
13.11.2009, 13:36
random13 спасибо, что объяснили. Я еще многого не знаю. А с проектом я так и работаю. Код в кадр перетащил что бы исключить ошибку глюка с подключением as-файла.

GentleFLASH занятно. Спасибо за пример.

random13
13.11.2009, 13:41
ошибки не должно быть, это вопрос именования + советую перейти на какое нить средства разработке по серьезнее чем стандартный флеш типа Flex Builder

да все мы еще много не знаю, я в соседних темах такие ляпы даю)) короче практика... практика... и еще раз практика...

alatar
13.11.2009, 17:41
Уберите
testSprite.width=500;
testSprite.height=500;
и все заработает.