трассировка actionscript 3 возвращает пустую функцию, а не число - PullRequest
1 голос
/ 16 августа 2011

У меня есть простой код, который, кажется, дает странные результаты.

var startPoint:Point = new Point(x, y); // a point
var r:Number = path[i].row + (-Math.floor((length * 2 + 2) / 2)); // just some math
trace(r); // the math checks out and gives a 3
var tey = startPoint.y + r; //this gives a really strange return....
trace(startPoint.y + r, tey); // this works, and then gives the strange return.

возвращаемое значение

3
10 7function Function() {}

как

var tey:Number = startPoint.y + r;
trace(startPoint.y + r, tey);

возвращаемое значение

10 NaN

IDE - это FlashDevelop, если вы считаете, что информация важна.

Дополнительная информация / тестирование:

trace(startPoint.y);

отслеживается как

7

: Number

var tey:Number = startPoint.y + r;
trace(tey);

равно

NaN

Number ()

var tey = Number(startPoint.y) + r;
trace(tey);

равно

7function Function() {}

(извините за плохую разметку постаЯ все еще неопытен в системе редактирования stackoverflow и работаю над тем, чтобы сделать это немного чище)

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Я не могу воспроизвести вашу проблему.Ваша проблема со значениями X и Y в этой строке, возможно, больше, чем со значением Y.

var startPoint:Point = new Point(x, y); // a point

Попробуйте жестко кодировать X и Y в 0

Вот пример кода Iпобежал.Это сработало, как и ожидалось, поэтому я предполагаю, что это переменные X и Y или что-то, связанное с «i», когда вы получаете доступ к пути [i] .row

var startPoint:Point = new Point(0, 0); // a point
var r:Number = 3; // just some math
trace(r); // the math checks out and gives a 3
var tey = startPoint.y + r; //this gives a really strange return....
trace(startPoint.y + r, tey); // this works, and then gives the strange return.
0 голосов
/ 22 августа 2011

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

var startPoint:Point = new Point(x, y); // a point
for ( /*for stuff*/ ){
    var r:Number = path[i].row + (-Math.floor((length * 2 + 2) / 2)); // just some math
}
trace(r); // the math checks out and gives a 3
var tey = startPoint.y + r; //this gives a really strange return....
trace(startPoint.y + r, tey); // this works, and then gives the strange return.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...