Matthias Kannengiesser
Erfahrenes Mitglied
Hi Folks,
Eine kleine Inspiration für alle diejenigen die mit Flash MX arbeiten und 3D Spielerein umsetzen möchten.
Beispiel:
3D Würfel (mit Maus steuern)
Be inspired.
mfg
Matze K.
Eine kleine Inspiration für alle diejenigen die mit Flash MX arbeiten und 3D Spielerein umsetzen möchten.
PHP:
// Position Berechnen
function setPos(point) {
scale = fl / ((point.z + fl) + zc);
xpos = (point.x * scale) + xc;
ypos = (point.y * scale) + yc;
}
// Würfel Berechnen (Linie für Linie)
function setBox() {
for (i=0; i < 8; i++) {
var scale = (fl / ((cube[i].z + fl) + zc));
_root[("b" + i) + "x"] = (cube[i].x * scale) + xc;
_root[("b" + i) + "y"] = (cube[i].y * scale) + yc;
}
}
// Array des Würfel
cube = [];
// Grösse
sizeCube = 200;
// Würfelseiten
cube[0] = {x:-sizeCube, y:-sizeCube, z:-sizeCube};
cube[1] = {x:sizeCube, y:-sizeCube, z:-sizeCube};
cube[2] = {x:sizeCube, y:sizeCube, z:-sizeCube};
cube[3] = {x:-sizeCube, y:sizeCube, z:-sizeCube};
cube[4] = {x:-sizeCube, y:-sizeCube, z:sizeCube};
cube[5] = {x:sizeCube, y:-sizeCube, z:sizeCube};
cube[6] = {x:sizeCube, y:sizeCube, z:sizeCube};
cube[7] = {x:-sizeCube, y:sizeCube, z:sizeCube};
// Ausgangsposition
xc = 270;
yc = 200;
zc = 500;
fl = 250;
// Ablauf
onEnterFrame = function () {
if (zoom) {
zc = zc + (_ymouse - oldy);
oldy = _ymouse;
if (zc < 100) {
zc = 100;
}
} else {
xa = (200 - _ymouse) * 0.001;
ya = (_xmouse - 270) * 0.001;
cosax = Math.cos(xa);
sinax = Math.sin(xa);
cosay = Math.cos(ya);
sinay = Math.sin(ya);
for (i=0; i < 8; i++) {
p = cube[i];
z = (cosax * p.z) - (sinax * p.y);
y = (cosax * p.y) + (sinax * p.z);
p.z = z;
p.y = y;
x = (cosay * p.x) - (sinay * p.z);
z = (cosay * p.z) + (sinay * p.x);
p.x = x;
p.z = z;
}
}
clear();
setBox();
lineStyle(1, 0xff0000, 50);
moveTo(b0x, b0y);
lineTo(b1x, b1y);
lineTo(b2x, b2y);
lineTo(b3x, b3y);
lineTo(b0x, b0y);
moveTo(b4x, b4y);
lineTo(b5x, b5y);
lineTo(b6x, b6y);
lineTo(b7x, b7y);
lineTo(b4x, b4y);
moveTo(b0x, b0y);
lineTo(b4x, b4y);
moveTo(b1x, b1y);
lineTo(b5x, b5y);
moveTo(b2x, b2y);
lineTo(b6x, b6y);
moveTo(b3x, b3y);
lineTo(b7x, b7y);
};
onMouseDown = function () {
zoom = true;
oldy = _ymouse;
};
onMouseUp = function () {
zoom = false;
};
Beispiel:
3D Würfel (mit Maus steuern)
Be inspired.
mfg
Matze K.