hi,
ich bin gerade an diesem Fächer Prinzip, wie bei mstudio.com.
hab ihr auch schon etws dazu gefunden. Dank an Tobias.
an sich komme ich gut mit dem Script zurecht, also verstehe wie es grundsätzlich funktioniert. leider habe ich doch ein paar Probleme.
Ist es möglich statt der Flächen auch Bilder rein zuladen, damit es quasi ein Fotostapel ist den man durchblättern kann?
Hab es schon versucht einfach in den mc ein jpg zu laden, dann wird dieses aber nicht verzehrt.
Sollte das nicht möglich sein, müsste es so sein, das wenn die Fläche steht, das Bild rein geladen wird. Natürlich wäre mir die erste Variante die liebste.
Ich hab zusätlich eine ID vergeben damit ich die einzelnen MC ansprechen kann.
Jemand eine Idee.
Hier das Script.
_root Ebene:
Code im leeren Mc (Verknüpfungsname: pad)
Bin über jede Hilfe dankbar!
gruß
deak
ich bin gerade an diesem Fächer Prinzip, wie bei mstudio.com.
hab ihr auch schon etws dazu gefunden. Dank an Tobias.
an sich komme ich gut mit dem Script zurecht, also verstehe wie es grundsätzlich funktioniert. leider habe ich doch ein paar Probleme.
Ist es möglich statt der Flächen auch Bilder rein zuladen, damit es quasi ein Fotostapel ist den man durchblättern kann?
Hab es schon versucht einfach in den mc ein jpg zu laden, dann wird dieses aber nicht verzehrt.
Sollte das nicht möglich sein, müsste es so sein, das wenn die Fläche steht, das Bild rein geladen wird. Natürlich wäre mir die erste Variante die liebste.
Ich hab zusätlich eine ID vergeben damit ich die einzelnen MC ansprechen kann.
Jemand eine Idee.
Hier das Script.
_root Ebene:
Code:
var pad = new Array(10);
var color2 = new Array;
color2.push ("0x037FFA","0x0273E2","0x026BD2","0x015EBA","0x0152A3", "0x004B95","0x053B71","0x013161","0x022446","0x022446");
trace (color2[0]);
var gap = 30;
for (var i=0; i<pad.length; i++) {
pad[i] = this.attachMovie("pad", "p" + i, i);
this.onEnterFrame = function() {
go();
}
}
function go() {
delete this.onEnterFrame;
for (var i=0; i<pad.length; i++) {
pad[i].idx = i;
pad[i]._x = Stage.width / 2 - 160;
pad[i]._by = (Stage.width / 2) - (gap * pad.length / 2) + (i * gap);
pad[i]._y = pad[i]._by;
pad[i]._color = color2[i]
var ax = (i - pad.length / 2) / 20;
pad[i]._offset = ax;
pad[i]._baseang = Math.PI / 2;
pad[i]._ang = pad[i]._baseang - pad[i]._offset;
pad[i].onRollOver = function() { test(this); }
pad[i].id = i;
pad[i].onPress = function () {
trace (this.id);
}
}
}
function test(obj) {
obj.swapDepths(this.getNextHighestDepth());
var da = (obj._ang < Math.PI / 2)? 0 : Math.PI;
var dy = (Stage.width / 2);
var m = obj.idx;
for (var i=0; i<m; i++) {
pad[i].dy = dy - obj.h / 2 - (m * gap) + ((i + 1) * gap);
}
for (var i=m + 1; i<pad.length; i++) {
pad[i].dy = dy + obj.h / 2 + ((i - m - 1) * gap);
}
for (var i in pad) {
if (pad[i] != obj) {
pad[i].da = pad[i]._baseang - pad[i]._offset + (dy - pad[i].dy) / 700;
pad[i].slideTo(pad[i].dy, pad[i].da, 25, 5);
}
}
obj.slideTo(dy, da, 90, 10);
}
Code im leeren Mc (Verknüpfungsname: pad)
Code:
var w = 468;
var h = 240;
var rad = w / 20;
var _ang = 0;
var _color = 0;
this._alpha = 50;
this.watch("_ang", onAng);
function onAng(id, oval, nval) {
paint(nval);
return nval;
}
function paint(ang) {
var x1 = Math.sin(ang * 1) * rad;
var x2 = w - Math.sin(ang * 1) * rad;
var x3 = w + Math.sin(ang * 1) * rad;
var x4 = -Math.sin(ang * 1) * rad;
var y1 = 0 - Math.cos(ang / 1) * (h / 2);
var y2 = 0 + Math.cos(ang / 1) * (h / 2);
this.clear();
this.beginFill(_color, 100);
//this.loadMovie ("test.jpg");
this.moveTo(x1, y1);
this.lineTo(x2, y1);
this.lineTo(x3, y2);
this.lineTo(x4, y2);
this.lineTo(x1, y1);
//if (_root.offen == true){
this.p1.loadMovie("test.jpg" );
//}
}
function setTo(dy, a) {
this._y = dy;
_ang = a;
}
function slideTo(dy, da, dt, s) {
this.onEnterFrame = function() {
_ang += (da - _ang) / s;
this._y += (dy - this._y) / s;
this._alpha += (dt - this._alpha) / s;
if (Math.abs(da - _ang) < 0.01 && Math.abs(dy - this._y) < 1) {
_ang = da;
this._y = dy;
delete this.onEnterFrame;
_root.offen = true;
trace (id);
}
}
}
Bin über jede Hilfe dankbar!
gruß
deak