PDA

Просмотр полной версии : какпрограмно вырезать дырку в маске или картинке?


assimetric
20.12.2003, 18:18
вобщем такой вопрос. сделал обезьянку которой можно управлять с клавиатуры. Обезьянка при помощи hitTest ходит по png картинке. обезьянка может кидать гранаты. Как сделать дырку в png картинке? (как в игре Worms)
хотел сначала сделать с помощью маски. но не знаю как в маске програмно вырезать дырку.

2K WebStudio
20.12.2003, 21:04
r=100;
mc = _root.createEmptyMovieClip("ewqf", 1);
_root.onEnterFrame = function() {
x = Stage.width;
y = Stage.height;
with (_root.mc) {
clear();
beginFill(0xff0000, 100);
lineTo(x, 0);
lineTo(x, y);
lineTo(0, y);
lineTo(0, 0);
moveTo(x/2,y/2-r);
curveTo(x/2+r, y/2-r, x/2+r, y/2);
curveTo(x/2+r, y/2+r, x/2, y/2+r);
curveTo(x/2-r, y/2+r, x/2-r, y/2);
curveTo(x/2-r, y/2-r, x/2, y/2-r);
endFill();
}
};

Работай в этом направлении!
Просто вставб этот код в первый кадр мувика!
Когда ты не закрываешь рисование она накладывается друг на друга и даёт дыру...
Не только Microsoft такие вот левые:)

Штрек
20.12.2003, 23:02
Оригинал написал(а) 2K WebStudio

Работай в этом направлении!
:)
Ну а ИнтерФрам здесь с какого боку?

iLoveYou
20.12.2003, 23:50
Оригинал написал(а) Штрек

Ну а ИнтерФрам здесь с какого боку?
дружище, ты не понял многозначительной фразы:
Работай в этом направлении!
возможно, в некоем контексте этот код и имел бы смысловую нагрузку...

я тоже предлагаю свое решение:
a=5;
Братан, работай в этом направлении.

а если серьезно, то я бы предложил сделать так:
сделать три слоя: основная картинка->мувик "дырка"->маска для мувика "дырки". далее при определенных условиях видоизменять маску для получения интересующего эффекта. :)

Nox Noctis
21.12.2003, 00:18
Оригинал написал(а) assimetric
не знаю как в маске програмно вырезать дырку. вырезать одну дырку оч просто...
варианта два -
либо рисуешь маску програмно, при помощи рисовательных методов класса МувиКлип,
либо заготавливаешь заранее клип с дыркой, и потом делаешь его маской.

если нужно много дырок, то придется мухлевать.
например, можно тот клип, который содержит фон (то что должно быть видно ПОД пнгшкой) положить НАД картинкой, и замаскировать его так, чтобы его совсем не было видно. потом добавлять к маске клипы в форме дырок.

sergwizard
21.12.2003, 02:28
По-моему, это самый простой вариант.

2K WebStudio
21.12.2003, 13:30
Причём тут onEnterFrame:
Вопервых - я хотел, чтобы рабоатло при изменении размеров Stage.
Вовторых - есть возможность динамически менять переменные x&y!
Всё-таки из-за Stage.
Важна сама идея, что еслип не закрывая рисовалку, нарисовать что-то поверх, то получится дырка:)

Штрек
21.12.2003, 14:50
Дырка то получится, а вот получится ли из всего этого
дела маска? О дырке в маске шла речь, между прочим.

nuran
21.12.2003, 15:11
тыкаешь в монитор ручкой где нужна дырка, если дырка не получается применешь молоток

Штрек
21.12.2003, 15:14
Оригинал написал(а) nuran
тыкаешь в монитор ручкой где нужна дырка, если дырка не получается применешь молоток
Мож напишешь урок? :p

nuran
21.12.2003, 15:28
дада в раздел mad flasherz

assimetric
21.12.2003, 15:42
Спасибо всем особенно Nox Noctis ;) подкинул идейку решения проблемы с другой стороны.
Все получилось =) теперь буду розвивать игрушку дальше =)
Незнаю что бы делал если бы не вы :) :) :)

Штрек
21.12.2003, 16:52
Оригинал написал(а) assimetric
Спасибо всем особенно Nox Noctis :)
Ну конечно. Как всегда, вся слава ему, родимому.
Стараешься, стараешься...Эх.

iLoveYou
21.12.2003, 17:01
Оригинал написал(а) Штрек

Ну конечно. Как всегда, вся слава ему, родимому.
Стараешься, стараешься...Эх.
не, точно!
вот найди 10 отличий:
Оригинал написал(а) Nox Noctis

например, можно тот клип, который содержит фон (то что должно быть видно ПОД пнгшкой) положить НАД картинкой, и замаскировать его так, чтобы его совсем не было видно. потом добавлять к маске клипы в форме дырок.
Оригинал написал(а) Я
сделать три слоя: основная картинка->мувик "дырка"->маска для мувика "дырки". далее при определенных условиях видоизменять маску для получения интересующего эффекта.
причем Нокс написал это позже ;)
а дети с цветами и женщины в красных платках -- все ему. :( :D

nuran
21.12.2003, 17:05
ФИГВАМ (жилище у индейцев), мой совет лучше всех

2K WebStudio
21.12.2003, 17:10
и правда, не работает...
а я думал, что будет...
ведь если это нарисовать руками, то будет...

nuran
21.12.2003, 17:19
а ты не думай

Nox Noctis
21.12.2003, 17:39
Оригинал написал(а) Sergey"iLoveYou"
вот найди 10 отличийотличие всего одно :) я вот твоей фразы не понял... то есть я примерно представил что ты, возможно, имеешь в виду, но вот воспользоваться этим человеку, который заранее не знает как это сделать - весьма проблематично :)) возрази :)

2Штрек, Sergey"iLoveYou"
будьте проще, и к вам потянутся цветы и деревья :))


и вообще..
я не понимаю вашего возмущения...
единственный кто тут не поленился сделать исходник - это sergwizard :)

Штрек
21.12.2003, 17:59
Оригинал написал(а) Nox Noctis
единственный кто тут не поленился сделать исходник - это sergwizard :)

sergwizard- вне критики! СВЯТОЙ человек. :p

iLoveYou
22.12.2003, 01:55
Оригинал написал(а) Nox Noctis
отличие всего одно :) я вот твоей фразы не понял... то есть я примерно представил что ты, возможно, имеешь в виду, но вот воспользоваться этим человеку, который заранее не знает как это сделать - весьма проблематично :)) возрази :)

ыы! хочу переводчика. Nox Noctis, только ты представляешь, что я, возможно, имею в виду, поэтому тебя я бы взял без конкурса :)
представляешь, я так говорю: "Э, чо эт за ботва?".
а ты выныриваешь так интеллигентно из-за моего плеча и переводишь: "Сергей Борисович интересуется, почему в Вашем исходнике в ошибка в вооон той строке..."
:)

Nox Noctis
22.12.2003, 01:59
разговорчики в строю :)

хорош уже иметь в виду, айда шедевры рисовать (http://flasher.ru/forum/showthread.php?s=&threadid=52974) :))
ударим разгильдяйством по бездорожью :)