![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2006
Сообщений: 170
|
Хочу понять как сделана эта змейка, с чего начинать? Рисовать змейку понятно как, но вот как она так возвращается, я не понимаю...
http://five3d.mathieu-badimon.com/ |
|
|||||
|
мне так представляется:
змейка - массив мувиков-линий при движении мыши добавляем в конец массива, но не больше какого-то предела, лишние удаляем из начала массива при простое мыши по таймеру удаляем опять же из начала.. у них вся эта ботва в их же 3D-пространстве реализована |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 170
|
ну 3D-пространство меня не интересует, просто я не понимал как он так плавно меняет размер змейки, таймер там стоит на одну секунду, после чего змейка начинает уменьшать, нужно попробовать сделать через массив...
Попробовал..: var snake_array:Array=[]
var snakePart_mc:MovieClip
function timer(){
snakePart=_root.attachMovie("snakePartSymbol", "snakePartSymbol", _root.getNextHighestDepth())
snakePart._x=_xmouse
snakePart._y=_ymouse
snake_array.push(snakePart)
if(snake_array.length>40){
removeMovieClip(snake_array.shift(snakePart))
}
updateAfterEvent()
}
setInterval(timer, 10)
Вопрос, как добится такой линии Последний раз редактировалось tikhop; 06.06.2008 в 03:37. |
|
|||||
|
потому как их надо еще и линями соединять
я бы сделал без шариков, только с линиями можно под них заранее мувиков наплодить, а потом только рисовать: import flash.geom.Point;
var snake_array:Array=[];
var prevPoint:Point;
var currPoint:Point;
var counter:Number = 0;
for (var i:Number = 0; i < 40; i++)
{
snake_array.push(_root.createEmptyMovieClip("part" + i, i));
}
prevPoint = new Point(_root._xmouse, _root._ymouse);
setInterval(this,"timer", 10);
function timer()
{
counter++;
counter %= snake_array.length;
currPoint=new Point(_root._xmouse, _root._ymouse);
setLine(counter, currPoint, prevPoint);
prevPoint = currPoint;
updateAfterEvent();
}
function setLine(id:Number, p1:Point, p2:Point)
{
var mc:MovieClip = snake_array[id];
mc.clear();
mc.lineStyle(24, 0x0081A1);
mc.moveTo(p1.x, p1.y);
mc.lineTo(p2.x, p2.y);
}
|
|
|||||
|
Регистрация: Jul 2006
Сообщений: 170
|
Большое спасибо...
|
|
|||||
|
Цитата:
![]()
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|