Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Падающий снег (http://www.flasher.ru/forum/showthread.php?t=72345)

katal 24.11.2005 20:06

Падающий снег
 
Да уж, вот такой тривиальный вопрос- падающий снег и связано, видимо, с duplicateMovieClip

IeshuaGaNocry 24.11.2005 20:30

www.sasisa.ru
см. лого, Я там очень просто реализовал

katal 24.11.2005 21:19

Спору нет, реализовано хорошо, почём продаёшь код реализации?))

KUZEN 24.11.2005 21:33

Цитата:

Сообщение от IeshuaGaNocry
www.sasisa.ru
см. лого, Я там очень просто реализовал

Молодец, но здесь мы не хвастаемся своими работами, а помогаем друг другу ...

D12 24.11.2005 23:18

Вложений: 1
Белые снежинки понебу летят )))

P.S. вообщето снежинки каждый рисует по своему вариантов много идей тоже ))) помнится в прошлом году Штрек устраивал конкурс на тему падающий снег , жаль что из за низкой посещаемость он был единственным учасником на своем форуме..........

katal 24.11.2005 23:27

Цитата:

Сообщение от D12
Белые снежинки понебу летят )))

P.S. вообщето снежинки каждый рисует по своему вариантов много идей тоже ))) помнится в прошлом году Штрек устраивал конкурс на тему падающий снег , жаль что из за низкой посещаемость он был единственным учасником на своем форуме..........

Спасибо за исходник, у меня другой скрипт, но не могу найти ошибку, не работает. сволочь)) Если нужно дизайн недорого - обращайся))

Буньков Максим 24.11.2005 23:51

Кидай глючный код разберемся не чужие... все свои... пинать не будем...
З.ы. Программисты всегда Нообы... и всю жизнь учатся... так что мы все братья :)

Штрек 25.11.2005 04:46

Вложений: 1
Зачем изобретать велосипед -
http://www.flasher.ru/forum/showthread.php?t=52974
Ну и ещё -
снег падает, налипает, тает......../см. исх./

Буньков Максим 25.11.2005 07:41

Цитата:

Сообщение от Штрек
Зачем изобретать велосипед -
http://www.flasher.ru/forum/showthread.php?t=52974
Ну и ещё -
снег падает, налипает, тает......../см. исх./

Он, я надеюсь не изобретает велосипед, а разбирается как он работает...

grusha 14.12.2005 22:54

исходник отличный , всё как надо , кроме прилипания ...:) , оно мне не надо :), проблема в том что когда я ставлю его поверх готового мувика , сначала всё нормально , но потом начинаються тормоза и Флеш пишет о скрипте ..... подскажите что подправить , а в Актион Скрипт новичёк .....

DimZ 15.12.2005 13:31

http://www.dekabank.ru/
как вам такой снег?

KidsKilla 15.12.2005 14:05

а я тоже выложу, чтоль =)) недавно вставлял в баннер:
Код:

this.timepos = 0;
this.stars = new Array();
this.star_count = 55;
for (i=0; i<this.star_count; i++) {
        st=this.stars[i]=this._snow.duplicateMovieClip("s_"+i, i);
        st._x = Math.random()*Stage.width;
        st._y = Math.random()*Stage.height;
        st.z = Math.random()*20+2;
        st._xscale = st.z*4;
}
this._snow.removeMovieClip();
this.onEnterFrame = function() {
        for (i=0; i<this.star_count; i++) {
                st = this.stars[i];
                st._y = st._y+st.z/15;
                if (st._y>Stage.height) {
                        st._y = Math.random()*10-5;
                        st._x = Math.random()*Stage.width;
                }
                r = Math.sin(i+timepos);
                st._x = st._x+Math.sin(r);
                st._y = st._y+Math.cos(r);
                st._yscale = Math.sin(r+3)*5;
                st._rotation = r*1;
                this.timepos += .1;
        }
};

ессно, мувик _snow должен лежать где-то не подалёку. (он потом удаляется)

Марк 15.12.2005 19:58

Вложений: 1
переделал снег из конкурса, чтобы он падал сверху, добавил "налипание"

в библиотеке должна быть снежинка с линком flake
this.createEmptyMovieClip("target_mc", 999999);
snow([target_mc],[ частота паденияв мсек],[объект, на котором они будут залипать]);

Там надо только путь хиттесту подправить

maximrouf 23.12.2009 11:32

Цитата:

снег.zip /см. исх./
Люди, помогите пожалуйста!
Я не программист.. и не могу понять в чем проблема.
- У меня идет большая утечка оперативной памяти с этим исходником.. где-то по мегабайту за 7-10 секунд. Правда, я количество снежинок увеличил.
- Но и в оригинале тоже есть эта утечка.

PS: у меня Win7

Contemplator 23.12.2009 14:11

Цитата:

Сообщение от maximrouf (Сообщение 874485)
]

Люди, помогите пожалуйста!
Я не программист.. и не могу понять в чем проблема.
- У меня идет большая утечка оперативной памяти с этим исходником.. где-то по мегабайту за 7-10 секунд. Правда, я количество снежинок увеличил.
- Но и в оригинале тоже есть эта утечка.

PS: у меня Win7

исходный код покажи, - подскажем :)
могу дать более-менее универсального снегопада (он же и листопад при желании и прочий пад, при особо богатой фантазии) как тут: http://www.free-lancers.net/users/Co...ojects/311190/ (тормозит из-за большого количество масок на сцене одновременно => нагрузки на CPU, - как исправить знаю, но бесплатно делать не охото =) ) или тут: http://www.free-lancers.net/users/Co...ojects/318369/ (масок нет - тормозов тоже)
А так на вскидку: ты мувики снежинок убиваешь после того как они отиграли свою роль и вышли за пределы видимости?

maximrouf 23.12.2009 14:54

Вложений: 1
Спасибо за оперативный ответ.
- Тут лежит исходник, в нем буквально 30 строчек кода для генерации снежинок.
Снежинки убиваются после выхода за пределы.

Contemplator 23.12.2009 15:07

Цитата:

Сообщение от maximrouf (Сообщение 874544)
Спасибо за оперативный ответ.
- Тут лежит исходник, в нем буквально 30 строчек кода для генерации снежинок.
Снежинки убиваются после выхода за пределы.

ууу... для начала, - переходи на AS2.0 хотя бы - тоже мёртвый язык, но хотя бы используемый так или иначе.
во-вторых, посмотри и оттестируй потерю оперативы при таком коде:
Код AS1/AS2:

function randomNumb(min, max) {
        var number:Number = Math.random()*(max-min)+min;
        return number;
}
function mover() {
        firstTime = 1;
        this._y += this.speed;
        this.xCounter += this.step;
        this._rotation += this.vrash;
        if (this.xCounter>20) {
                this.step = -1;
                this.xSpeed *= -1;
                this.vrash = 1;
        }
        if (this.xCounter<-20) {
                this.step = 1;
                this.xSpeed *= -1;
                this.vrash = -1;
        }
        if (this.xCounter<10 && this.xCounter>-10) {
                this._x += this.xSpeed/2;
        }
        if ((this.xCounter<=-10 && this.xCounter>=-15) || (this.xCounter>=10 && this.xCounter<=15)) {
                this._x += (this.xSpeed/4);
        }
        if (this.xCounter>15 || this.xCounter<-15) {
                this._x += (this.xSpeed/6);
        }
        if (this._y>(Stage.height+this._height)) {
                reStart(this);
        }
}
function reStart(clip, rotat) {
        clip._x = randomNumb(0, Stage.width);
        clip._y = -clip._height;
        clip.speed = randomNumb(1/5, 1/2);
        clip.xSpeed = clip.speed*2*clip.step;
        clip._xscale = clip._yscale=randomNumb(25, 50);
        clip._alpha = randomNumb(50, 100);
        if (rotat) {
                clip._rotation = randomNumb(-59, 59);
        }
        if (firstTime == underfined) {
                clip._y = randomNumb(0, Stage.height);
        }
}
function step() {
        var myStep = Math.random();
        if (myStep>0.5) {
                myStep = 1;
        } else {
                myStep = -1;
        }
        return myStep;
}
function myBg(n) {
        var bg:MovieClip = this.createEmptyMovieClip("bg", 0);
        var dep:Number = 0;
        for (i=0; i<n; i++) {
                var snowflake1:MovieClip = bg.attachMovie("snowflake1", "snowflake1"+i, dep++);
                snowflake1.step = step();
                reStart(snowflake1, true);
                snowflake1.xCounter = randomNumb(-20, 20);
                snowflake1.onEnterFrame = mover;
        }
}
myBg(30);

только символ снежинки создай изначально правильно, что б экспортировался для AS и грузился в первый кадр + дополни прилипание =)

maximrouf 23.12.2009 15:41

Спасибо! Буду разбираться!

Hauts 23.12.2009 21:16

cacheAsBitmap для снежинок не помешает, кстати.

Contemplator 24.12.2009 06:21

Цитата:

Сообщение от Hauts (Сообщение 874696)
cacheAsBitmap для снежинок не помешает, кстати.

кстати, да, но даже в данном случае - не всегда =)
во-первых векторный примитив вообще может быть до ужаса примитивным (круг, 4 опорные точки) - тогда смысла в переводе в растр нет никакого - нагрузка так и так будет минимальной...
а во-вторых: кто мешает использовать в качестве снежинки растровую картинку, обёрнутую в мувиклип? если масштабирование не подразумевается - то это, пожалуй, самый удачный вариант с любой точки зрения (так и вес флехи будет экономиться, ибо вектор с большим числом опорных точек порой вывешивает даже больше чем просто растр такой же по виду, и нагрузка на CPU из-за ненадобности перерисовывать вектор будет минимальной =) )


Часовой пояс GMT +4, время: 23:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.