![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2003
Адрес: Третья планета от Солнца
Сообщений: 3
|
Подскажите, как сюда добавить тень... или хотябы залить...
------------------------------------------------------------------------------- x = [-135, -135, -135, -100, -6, -6, -135, -135, -135, -100, -6, -6, 8, 70, 98, 98, 98, 8, 8, 70, 98, 98, 98, 8, 131, 70, 38, 9, -86, 0, 131, 70, 38, 9, -86, 0]; y = [73, 0, -35, -54, -104, -3, 73, 0, -35, -54, -104, -3, -154, -117, -100, -72, 47, -4, -154, -117, -100, -72, 47, -4, 81, 116, 136, 118, 58, 8, 81, 116, 136, 118, 58, 8]; z = [20, 20, 20, 20, 20, 20, -20, -20, -20, -20, -20, -20, 20, 20, 20, 20, 20, 20, -20, -20, -20, -20, -20, -20, 20, 20, 20, 20, 20, 20, -20, -20, -20, -20, -20, -20]; var _x = 500, _y = 500, s = 151, pX = 0.5, pY = -2; _root.onEnterFrame = function() { //pX = -(0-_ymouse)/100; //pY = (0-_xmouse)/100; clear(); for (i=0; i<36; i++) { r = Math.PI/180; cosX = Math.cos(pX*r); sinX = Math.sin(pX*r); cosY = Math.cos(pY*r); sinY = Math.sin(pY*r); ky = y[i]*cosX-z[i]*sinX; kx = x[i]*cosY+(y[i]*sinX+z[i]*cosX)*sinY; kz = -x[i]*sinY+(y[i]*sinX+z[i]*cosX)*cosY; x[i] = kx; z[i] = kz; y[i] = ky; } lineStyle(-1, 0x6699ff, 100); //1.1 moveTo(x[0]*(s/(s+z[0])), y[0]*(s/(s+z[0]))); lineTo(x[1]*(s/(s+z[1])), y[1]*(s/(s+z[1]))); curveTo(x[2]*(s/(s+z[2])), y[2]*(s/(s+z[2])), x[3]*(s/(s+z[3])), y[3]*(s/(s+z[3]))); lineTo(x[4]*(s/(s+z[4])), y[4]*(s/(s+z[4]))); lineTo(x[5]*(s/(s+z[5])), y[5]*(s/(s+z[5]))); lineTo(x[0]*(s/(s+z[0])), y[0]*(s/(s+z[0]))); //1.2 moveTo(x[6]*(s/(s+z[6])), y[6]*(s/(s+z[6]))); lineTo(x[7]*(s/(s+z[7])), y[7]*(s/(s+z[7]))); curveTo(x[8]*(s/(s+z[8])), y[8]*(s/(s+z[8])), x[9]*(s/(s+z[9])), y[9]*(s/(s+z[9]))); lineTo(x[10]*(s/(s+z[10])), y[10]*(s/(s+z[10]))); lineTo(x[11]*(s/(s+z[11])), y[11]*(s/(s+z[11]))); lineTo(x[6]*(s/(s+z[6])), y[6]*(s/(s+z[6]))); //1.3 moveTo(x[0]*(s/(s+z[0])), y[0]*(s/(s+z[0]))); lineTo(x[6]*(s/(s+z[6])), y[6]*(s/(s+z[6]))); moveTo(x[1]*(s/(s+z[1])), y[1]*(s/(s+z[1]))); lineTo(x[7]*(s/(s+z[7])), y[7]*(s/(s+z[7]))); moveTo(x[3]*(s/(s+z[3])), y[3]*(s/(s+z[3]))); lineTo(x[9]*(s/(s+z[9])), y[9]*(s/(s+z[9]))); moveTo(x[4]*(s/(s+z[4])), y[4]*(s/(s+z[4]))); lineTo(x[10]*(s/(s+z[10])), y[10]*(s/(s+z[10]))); moveTo(x[5]*(s/(s+z[5])), y[5]*(s/(s+z[5]))); lineTo(x[11]*(s/(s+z[11])), y[11]*(s/(s+z[11]))); //2.1 moveTo(x[12]*(s/(s+z[12])), y[12]*(s/(s+z[12]))); lineTo(x[13]*(s/(s+z[13])), y[13]*(s/(s+z[13]))); curveTo(x[14]*(s/(s+z[14])), y[14]*(s/(s+z[14])), x[15]*(s/(s+z[15])), y[15]*(s/(s+z[15]))); lineTo(x[16]*(s/(s+z[16])), y[16]*(s/(s+z[16]))); lineTo(x[17]*(s/(s+z[17])), y[17]*(s/(s+z[17]))); lineTo(x[12]*(s/(s+z[12])), y[12]*(s/(s+z[12]))); //2.2 moveTo(x[18]*(s/(s+z[18])), y[18]*(s/(s+z[18]))); lineTo(x[19]*(s/(s+z[19])), y[19]*(s/(s+z[19]))); curveTo(x[20]*(s/(s+z[20])), y[20]*(s/(s+z[20])), x[21]*(s/(s+z[21])), y[21]*(s/(s+z[21]))); lineTo(x[22]*(s/(s+z[22])), y[22]*(s/(s+z[22]))); lineTo(x[23]*(s/(s+z[23])), y[23]*(s/(s+z[23]))); lineTo(x[18]*(s/(s+z[18])), y[18]*(s/(s+z[18]))); //2.3 moveTo(x[12]*(s/(s+z[12])), y[12]*(s/(s+z[12]))); lineTo(x[18]*(s/(s+z[18])), y[18]*(s/(s+z[18]))); moveTo(x[13]*(s/(s+z[13])), y[13]*(s/(s+z[13]))); lineTo(x[19]*(s/(s+z[19])), y[19]*(s/(s+z[19]))); moveTo(x[15]*(s/(s+z[15])), y[15]*(s/(s+z[15]))); lineTo(x[21]*(s/(s+z[21])), y[21]*(s/(s+z[21]))); moveTo(x[16]*(s/(s+z[16])), y[16]*(s/(s+z[16]))); lineTo(x[22]*(s/(s+z[22])), y[22]*(s/(s+z[22]))); moveTo(x[17]*(s/(s+z[17])), y[17]*(s/(s+z[17]))); lineTo(x[23]*(s/(s+z[23])), y[23]*(s/(s+z[23]))); //3.1 moveTo(x[24]*(s/(s+z[24])), y[24]*(s/(s+z[24]))); lineTo(x[25]*(s/(s+z[25])), y[25]*(s/(s+z[25]))); curveTo(x[26]*(s/(s+z[26])), y[26]*(s/(s+z[26])), x[27]*(s/(s+z[27])), y[27]*(s/(s+z[27]))); lineTo(x[28]*(s/(s+z[28])), y[28]*(s/(s+z[28]))); lineTo(x[29]*(s/(s+z[29])), y[29]*(s/(s+z[29]))); lineTo(x[24]*(s/(s+z[24])), y[24]*(s/(s+z[24]))); //3.2 moveTo(x[30]*(s/(s+z[30])), y[30]*(s/(s+z[30]))); lineTo(x[31]*(s/(s+z[31])), y[31]*(s/(s+z[31]))); curveTo(x[32]*(s/(s+z[32])), y[32]*(s/(s+z[32])), x[33]*(s/(s+z[33])), y[33]*(s/(s+z[33]))); lineTo(x[34]*(s/(s+z[34])), y[34]*(s/(s+z[34]))); lineTo(x[35]*(s/(s+z[35])), y[35]*(s/(s+z[35]))); lineTo(x[30]*(s/(s+z[30])), y[30]*(s/(s+z[30]))); //3.3 moveTo(x[24]*(s/(s+z[24])), y[24]*(s/(s+z[24]))); lineTo(x[30]*(s/(s+z[30])), y[30]*(s/(s+z[30]))); moveTo(x[25]*(s/(s+z[25])), y[25]*(s/(s+z[25]))); lineTo(x[31]*(s/(s+z[31])), y[31]*(s/(s+z[31]))); moveTo(x[27]*(s/(s+z[27])), y[27]*(s/(s+z[27]))); lineTo(x[33]*(s/(s+z[33])), y[33]*(s/(s+z[33]))); moveTo(x[28]*(s/(s+z[28])), y[28]*(s/(s+z[28]))); lineTo(x[34]*(s/(s+z[34])), y[34]*(s/(s+z[34]))); moveTo(x[29]*(s/(s+z[29])), y[29]*(s/(s+z[29]))); lineTo(x[35]*(s/(s+z[35])), y[35]*(s/(s+z[35]))); }; ----------------------------------------------------------------------------------- Зарание спасибо! |
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
ну ты конечно крутой кусок кода выложил
!Извини, я ленивый и подробно разбираться не стал, возможно моё сообщение тебе чем нибудь поможет. Итак, делаешь createEmptyMovieClip() два раза, соответственно в соседних слоях. На обоих клипах рисуешь программно своё изображение, а потом тот клип что пониже сдвигаешь малость пониже и например левее (._x, ._y) ну и делаешь ему прозрачность, например ._ alpha=50. Ну и вот этот последний клип и будет тенью. Твой "килограм" кода я бы запихнул в отдельную функцию, которая рисовала бы это изображение на любом объекте, задаваемом в качестве параметра. Следующая функция рисует прямоугольник именно таким образом. drwObj-строка с именем объекта на котором будет прорисовка.: drawRect=function(drwObj,x1,y1,x2,y2){ trace("drawing rect"); with(eval(drwObj)){ lineStyle(0,0x000000,0); beginFill(0x000099,10); moveTo(x1,y1); lineTo(x1,y2); lineTo(x2,y2); lineTo(x2,y1); lineTo(x1,y1); endFill(); } } Вроде всё, если не в тему - извиняйте. |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
проецируй вершины на плоскость, на которую ты хочеш тень наложить
__________________
flash/flex/unity |
|
|||||
|
[+1.3 05.04.09]
|
приятно видеть свой исходники Gooddy а где взял
__________________
Бойтесь китайцев, компы приносящих! |
![]() |
Часовой пояс GMT +4, время: 03:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|