![]() |
|
||||||||||
|
|||||
|
Кто знает как сделать подобное меню из красных шариков на флэш??? Очень нужно. Пожалуйста подскажите великие, могучие флэш-профессионалы! Заранее благодарна.
Надежда |
|
|||||
|
Исходники этого меню мне попадались.
поищи либо здесь либо на флешките. зы зачем кросспостить то?
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно! |
|
|||||
|
А ты код сможешь вставить сама?
Если что могу помочь
__________________
Всегда готов!!! Последний раз редактировалось Ready; 25.03.2004 в 14:40. |
|
|||||
|
Banned
[03.10.2005]
Регистрация: Nov 2003
Сообщений: 425
|
MovieClip.prototype.curveThreeTo = function(x1, y1, x2, y2, x3, y3) {
var cx = 2*x2-0.5*(x1+x3); var cy = 2*y2-0.5*(y1+y3); this.curveTo(cx, cy, x3, y3); }; MovieClip.prototype.circleTo = function(width, height, xpos, ypos) { var mas = new Array(); var step = 32; var angle = 360/step; var rad = Math.PI/180; for (var i = 0; i<=step; i++) { mas[i] = new Object(); mas[i].x = Math.cos(angle*rad*i)*width+xpos; mas[i].y = Math.sin(angle*rad*i)*height+ypos; } this.moveTo(mas[0].x, mas[0].y); for (var i = 0; i<step; i += 2) { this.curveThreeTo(mas[i].x, mas[i].y, mas[i+1].x, mas[i+1].y, mas[i+2].x, mas[i+2].y); } }; vertex = function (x, y, z) { this.x=x, this.y=y, this.z=z; }; vertex.prototype.rotateXY = function(sinX, cosX, sinY, cosY) { // rotation around of axes X and Y var yp = this.y*cosY-this.z*sinY; var zp = this.y*sinY+this.z*cosY; var xp = this.x*cosX+zp*sinX; var zp = -this.x*sinX+zp*cosX; this.x=xp, this.y=yp, this.z=zp; }; vertex.prototype.perspective = function(i) { // calculation 3d to 2d var perRatio = 1/(this.z/dist+1); this.rx = cnx+this.x*perRatio; this.ry = cny-this.y*perRatio; if (this.z>-dist) { eval("dot"+i)._visible = 1; eval("dot"+i)._x = this.rx; eval("dot"+i)._y = this.ry; eval("dot"+i)._xscale = eval("dot"+i)._yscale=perRatio*50; eval("dot"+i).swapDepths(perRatio*500); } else { eval("dot"+i)._visible = 0; } }; _root.onLoad = function() { Stage.scaleMode = "noScale"; _root.createEmptyMovieClip("dot", 999999); cnx=250, cny=250, dist=200; rad=Math.PI/180, preRad=rad/25; // build circle var radius = 30; matrix = {matrixType:"box", x:-radius*1.3, y:-radius*1.3, w:radius*2, h:radius*2, r:radius*Math.PI}; _root.dot.beginGradientFill("radial", [0xFFFFFF, 0xCCCCCC, 0x000000], [100, 100, 100], [0x44, 0xDD, 0xFF], matrix); _root.dot.circleTo(radius, radius, 0, 0); _root.dot.endFill(); v = new Array(); // build cube for (var i, cnt = 0; i<=3; i++) { for (var j = 0; j<=3; j++) { for (var k = 0; k<=3; k++) { v[cnt] = new vertex(75-i*50, 75-j*50, 75-k*50); _root.dot.duplicateMovieClip("dot"+cnt, cnt); cnt++; } } } _root.dot.removeMovieClip(); // ---------------- amount = v.length-1; }; // #################################################### // -- 3D DOT CUBE // -- © 2002-2003 Grigory A. Ryabov. // -- http://www.flash.plux.ru // #################################################### _root.onEnterFrame = function() { var xa = (cnx-_ymouse)*preRad; var ya = (cny-_xmouse)*preRad; var sinY = Math.sin(ya); var cosY = Math.cos(ya); var sinX = Math.sin(xa); var cosX = Math.cos(xa); for (var i = 0; i<=amount; i++) { v[i].rotateXY(sinY, cosY, sinX, cosX); v[i].perspective(i); } }; stop(); |
![]() |
Часовой пояс GMT +4, время: 01:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|