Просмотр полной версии : получение фрейма по метке
Есть ли более простые способы узнать frame number по label, чем представленные ниже?function getLabelFrame(labelName) {
for (var i=0; i<currentLabels.length; i++) {
var label = currentLabels[i];
if (labelName == label.name) {
return label.frame;
}
}
}function getLabelFrame(labelName) {
gotoAndStop(labelName);
return currentFrame;
}
BlooDHounD
25.12.2007, 13:42
а в хелпе что написано про метод gotoAndStop ? намекаю на прочтение информации о первом аргументе.
frame:Object — A number representing the frame number, or a string representing the label of the frame, to which the playhead is sent. If you specify a number, it is relative to the scene you specify. If you do not specify a scene, Flash Player uses the current scene to determine the global frame number at which to go to and stop. If you do specify a scene, the playhead goes to the frame number in the specified scene and stops.Это чем-то может помочь получить номер фрейма по названию метки?
см. MovieClip.currentLabels
silin, в первый пост загляни :)
BlooDHounD
25.12.2007, 18:54
frame:Object — A number representing the frame number, or a string representing the label of the frame, to which the playhead is sent. If you specify a number, it is relative to the scene you specify. If you do not specify a scene, Flash Player uses the current scene to determine the global frame number at which to go to and stop. If you do specify a scene, the playhead goes to the frame number in the specified scene and stops.выделил
По-моему, мы друг друга не понимаем...
По поводу использования имени метки в виде аргумента ясно (это было использовано во втором примере). Только проблема не в переходе на фрейм по имени метки, а в получении номера фрейма/кадра, на который ссылается метка (сам переход не столь важен).
BlooDHounD
25.12.2007, 21:58
звиняюсь :) не понял :) название функции сбило с толку.
ну тогда самый просто это второй :) другого нету.
Первый можно усовершенствовать, закешировав результаты. «Медленно» отвечать будет только в первый раз, во все последующие вызовы уже мгновенно.
Видимо так и придется поступить перед основными операциями с фреймами. Спасибо всем за ответы.
BlooDHounD
26.12.2007, 09:40
если кэшировать по второму, то будет бытрее, так как необходимость будет возникать по мере необходимости.
необходимость будет возникать по мере необходимости.
Что-что? :D
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.