|
|
|||||
Регистрация: Apr 2009
Сообщений: 104
|
подгрузка клипа с камерой от xitri
Может кто-нибудь подскажет. Имеется клип, в котором фон растягивается на весь экран. Посредине экрана расположен клип-загрузчик, куда подгружаю swf-ки 800х600. Все работает нормально. Сделал игру-бродилку и там использовал камеру от Xitri. Она движется за героем. Фон или mapa естественно выходит за рамки рабочей сцены. Выходной swf - 800х600. При подгрузке в основной ролик игра раскрывается на весь экран, закрывая собой меню и т. д. Пробовал клип-загрузчик маскировать - не помогло. Может кто-то сталкивался с подобной проблемой?
|
|
|||||
Где собственно можно видеть релевантный данному предикату пример, вышедший из под вашего пера?
Сразу дам подсказку: он должен быть в CS3.... |
|
|||||
Регистрация: Apr 2009
Сообщений: 104
|
К сожалению работаю с 8-кой.
|
|
|||||
Модрон-ветеринар
|
alex_195, CS3 откроет 8-ку. Вам бы для экономии времени сразу бы выложить исходник, а заодно весь проект со страницей публикации, раз у вас там "во весь экран" что-то...
__________________
Идите первым! |
|
|||||
Регистрация: Apr 2009
Сообщений: 104
|
Вот архив с исходниками.
|
|
|||||
Регистрация: Aug 2009
Сообщений: 99
|
1) А игра должна быть снизу мувика komp_mc?(другими словами - должна ограничиваться его размерами?)
Если да, то такие моменты: komp_mc на 4х кадрах, а игра грузится в 5м. И _root.clip Вы создаете на 0м уровне - 0й уровень - выше komp_mc! В этом случае (продолжив кадры с komp_mc до 5го кадра) я б на loader1 повесил слушатель var loadListener:Object = {}; loadListener.onLoadComplete = function(target_mc:MovieClip):Void { target_mc.swapDepths(_root.komp_mc); } loader1.addListener(loadListener); 2) Если komp_mc фигурировать все-таки не должен, а должна быть именно маска игры именно внутри clip (куда грузится игра) и она после загрузки не видна - то: внутри клипа-контейнера (clip) для загрузки игры надо создать маску (clip.mask) и еще один контейнер (clip.game) (маска выше, чем контейнер), и в clip.game грузить игру. Ибо если грузить игру в контейнер clip в котором была создана маска clip.mask - при загрузке игра замещает своим инстансом ВСЕ внутрисодержимое clip (тоесть маска убивается). |
|
|||||
Регистрация: Apr 2009
Сообщений: 104
|
mi_nooker, спасибо, что стали разбираться с моей проблемой. Да игра должна загрузиться, как и остальные мувики 800х600 под komp_mc. Насчет того, что грузить игру в клип, созданный в clip и и вешать на его маску я уже пробовал, не прокатило. Я все же думаю, что в самом клипе(в игре) camera_mc имеется код, который выводит эту камеру на более высокий уровень, чем подгружающий его клип. Вот посмотрите:
import flash.geom.Transform; import flash.geom.Matrix; var level = 1; if (_parent._parent.type != "demo") { cameraFrame._visible = false; init(); } //================================== //don't tuch this :) function init() { var oldMode = Stage.scaleMode; Stage.scaleMode = "exactFit"; w = Stage.width; h = Stage.height; Stage.scaleMode = oldMode; recalcParentMatrix(); cameraStep(); onEnterFrame = cameraStep; onUnload = resetStage; } function recalcParentMatrix() { mc = _parent; if (level) { var i = level-1; } else { var i = 1000; } while (i-- && mc && mc != _root) { var tempTrans = new Transform(mc); if (!parentM) { parentM = tempTrans.matrix; } else { parentM.concat(tempTrans.matrix); } mc = mc._parent; } cameraTrans = new Transform(this); topLevelTrans = new Transform(mc); resetM = topLevelTrans.matrix; resetTopLevelColor = topLevelTrans.colorTransform; } function cameraStep() { topLevelTrans.colorTransform = cameraTrans.colorTransform; curM = cameraTrans.matrix; if (parentM) { curM.concat(parentM); } curM.invert(); curM.translate(w/2, h/2); topLevelTrans.matrix = curM; //_root.filters = this.filters; } function resetStage():Void { topLevelTrans.matrix = resetM; topLevelTrans.colorTransform = resetTopLevelColor; } |
Часовой пояс GMT +4, время: 10:31. |
|
« Предыдущая тема | Следующая тема » |
|
|