Информация

Обсуждало 6 человек

ПОМОГИТЕ!!! ЭТО ОЧЕНЬ ВАЖНО, НУЖНА ВАША ПОМОЩЬ!

Логика и программирование
12 июля 2013 в 17:52:19

на самом деле, херня полная) в общем проблема такая:
делаю мульт с камерой, ну думаю понятно какой, AS2, я её переделал чутка, добавил поверх парочку рисунков, надо было).И удалил одну строчку _visible=false как-то так он называлась. НО теперь когда идет переход между оригинальной камерой и новой, на долю секунду камеры отключаются и показывают тупо всю сцену, а потом всё как надо идет, что за проблема это может быть? =(

Обсуждение (вниз)

Не хватает только вашего мнения. Зарегистрируйтесь, чтобы написать!

15 июля 2013 в 13:23:39

ыыыы )) а вчера все так логично казалось)) ets спасиб за перевод))

15 июля 2013 в 09:47:58

ets, благодарю) а то я дико затупил, когда номер аськи появился)
iDenChig, го в скайп, а аськи нету, а качать влом. скайп - rchaushesku

15 июля 2013 в 09:25:21

rchaushesku, перевод с Иденччигского:

Напиши мне в Аську 416907440, решу проблему. Если хочешь разбираться здесь, то залей исходник.

15 июля 2013 в 09:00:26

я ничо не понял)

15 июля 2013 в 03:25:51

Чето я счутка жиранул 416907440 сюда напиши решу проблему, если сдесь скинь исходник решу проблему


15 июля 2013 в 00:11:03

вот на AS3, код не мой, я лох в программировании, т.ч. ничего сказать по нему не могу, только то, что опять же удалил строчку про visible

import flash.events.Event;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.geom.Point;

visible = false;

addEventListener(Event.ENTER_FRAME, handleEnterFrame);
function handleEnterFrame(event:Event):void {
if (parent) {
parent.scaleX = 1 / scaleX;
parent.scaleY = 1 / scaleY;

if (rotation == 0) {
parent.x = (width / 2 - x) / scaleX;
parent.y = (height / 2 - y) / scaleY;
parent.rotation = 0;
} else {
var bounds:Rectangle = getBounds(this);
var angle:Number = rotation * Math.PI / 180;

var midX:Number = -x / scaleX;
var midY:Number = -y / scaleY;
var rx:Number = -bounds.width / 2;
var ry:Number = -bounds.height / 2;

var cos:Number = Math.cos(angle);
var sin:Number = Math.sin(angle);
var rotatedX:Number = rx * cos - ry * sin;
var rotatedY:Number = ry * cos + rx * sin;
var cornerX:Number = midX - rotatedX;
var cornerY:Number = midY - rotatedY;

cos = Math.cos(-angle);
sin = Math.sin(-angle);
parent.x = cornerX * cos - cornerY * sin;
parent.y = cornerY * cos + cornerX * sin;

parent.rotation = -rotation;
}
}
}

addEventListener(Event.REMOVED, handleRemoved, false, 0, true);
function handleRemoved(event:Event):void {
removeEventListener(Event.ENTER_FRAME, handleEnterFrame);
removeEventListener(Event.REMOVED, handleRemoved);
}

14 июля 2013 в 20:42:09

Сиськи помогли, но не надолго) на секунд 30.
iDenChig, даже когда я убрал одну из камер, при переходе от обыного вида на камеру AS 3 всё равно не значительный милисекудный кадр всей сцены, а потом идет уже обрезанное камерой (как и надо) изображение.
Короче, момент такой:
Я показываю камерой приближенный рисунок, а потом отдаляю его, отдалять не камеру, а рисунок проблемотично из-за множества слоев. И вот при переходе на эту сцену с камерой, она показывает эту сцену полностью... это пиздец) Конечно я нагрузил флеш неплохо так, что поставил размытие и камеру пускают с мотиуном по направляющей, но даже когда я это всё убрал всё осталось =( ща кину код на AS 3

14 июля 2013 в 13:32:21

А еще лучше опиши, что ты делаешь может лучше решение есть! А то код у тебя дьявольски непонятен

14 июля 2013 в 13:31:42

как бы visible = false; указываешь на this, а visible = true; указываешь на parent? Я уже забыл ппц как AS2 но мне кажется, что в этом глюк и есть.

14 июля 2013 в 13:27:14

rchaushesku чет не могу въехать зачем все это, зачем ты родителя открываешь?

14 июля 2013 в 12:26:38

Эта строчка ни на че не влияет, просто не используй две камеры.

13 июля 2013 в 13:54:45

Помогло?

13 июля 2013 в 13:54:25


13 июля 2013 в 12:45:41

Ну это явно происходит из-за перехода между камерами, можно ли что-нибудь с этим сделать? (

13 июля 2013 в 12:34:50

без изменений, там есть пометки автора:

import flash.display.BitmapData;

_visible = false;

addProperty("_x2",get_x2,set_x2);
addProperty("_y2",get_y2,set_y2);
addProperty("_xscale2",get_xscale2,set_xscale2);
addProperty("_yscale2",get_yscale2,set_yscale2);
addProperty("_rotation2",get_rotation2,set_rotation2);

////////////////////////////////////////////////////////////////////////////
// Get stage width and height //////////////////////////////////////////////

var oldScaleMode:String = stage.scaleMode;
stage.scaleMode = "exactFit";

var sW:Number = Stage.width;
var sH:Number = Stage.height;

stage.scaleMode = oldScaleMode;

////////////////////////////////////////////////////////////////////////////
// Get Vcam width and height ///////////////////////////////////////////////

var bounds_obj:Object = this.getBounds(this);

var camH:Number = Math.abs(bounds_obj.yMax-bounds_obj.yMin);
var camW:Number = Math.abs(bounds_obj.xMax-bounds_obj.xMin);

////////////////////////////////////////////////////////////////////////////
// Creat Point for dynamic registration point //////////////////////////////

var rp = {x:this._x, y:this._y};

onEnterFrame = function ():Void {
camControl();
};

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

function camControl():Void {

////////////////////////////////////////////////////////////////////////////
// Move the registration point to the vCams current position ///////////////

rp.x = _x;
rp.y = _y;

////////////////////////////////////////////////////////////////////////////
// Gets the current scale of the vCam //////////////////////////////////////

var h:Number = camH*(_yscale*.01);
var w:Number = camW*(_xscale*.01);

////////////////////////////////////////////////////////////////////////////
// Gets the stage to vCam scale ratio //////////////////////////////////////

var _scaleY:Number = sH/h;
var _scaleX:Number = sW/w;

////////////////////////////////////////////////////////////////////////////
// Positions the parent ////////////////////////////////////////////////////

_x2 = (w/2)*_scaleX;
_y2 = (h/2)*_scaleY;

_xscale2 = _scaleX*100;
_yscale2 = _scaleY*100;

_rotation2 = -_rotation;

////////////////////////////////////////////////////////////////////////////
// Apply vCam filters to bitmap ////////////////////////////////////////////

_parent.filters = this.filters;
_parent.transform.colorTransform = this.transform.colorTransform;

}

this.onUnload = reset;

function reset():Void {

////////////////////////////////////////////////////////////////////////////
// Resets parent properties ////////////////////////////////////////////////

_parent._xscale = 100;
_parent._yscale = 100;
_parent._x = 0;
_parent._y = 0;
_parent._rotation = 0;
_parent._visible = true;

}

function set_x2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._x += value-a.x;
}
function get_x2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.x;
}

function set_y2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._y += value-a.y;
}
function get_y2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.y;
}

function get_xscale2():Number {
return _parent._xscale;
}
function set_xscale2(value:Number):Void {
setProperty2("_xscale",value);
}

function get_yscale2():Number {
return _parent._yscale;
}

function set_yscale2(value:Number):Void {
setProperty2("_yscale",value);
}

function get_rotation2():Number {
return parent.rotation;
}
function set_rotation2(value:Number):Void {
setProperty2("_rotation",value);
}

function setProperty2(prop:String, n:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);

_parent[prop] = n;

var b = {x:rp.x, y:rp.y};
_parent.localToGlobal(b);

_parent._x -= b.x-a.x;
_parent._y -= b.y-a.y;
}

12 июля 2013 в 22:32:36

rchaushesku, очевидно, из которого ты удалил строчку визибла.

12 июля 2013 в 21:52:50

iDenChig
какой именно алгоритм?

12 июля 2013 в 21:50:30

Блин, хоть бы кто нить выложил пример с AS.

12 июля 2013 в 18:47:43

Ты б алгоритм свой бы дал, а то по твоим рассказам все очень печально )

12 июля 2013 в 18:09:32


12 июля 2013 в 18:07:50

спасибо, хех.

12 июля 2013 в 18:01:40

Ясно.
Fundux.ru v.3.0 © 2006-2021 AleXNoD
Портал русских флеш игр и flash мультов