Вход

Просмотр полной версии : Help...


kazakov_gin
04.01.2004, 11:39
я скачал из исходников горящий огонь. как его остановить.

sergwizard
04.01.2004, 14:26
А ты что, не знаешь, как пионеры костры гасят? :D
Ну, а если серьезно, - смотри пример.

sergwizard
05.01.2004, 04:04
Вообще-то, если бы я делал и выкладывал этот исходник, я бы сделал такой

kazakov_gin
05.01.2004, 12:36
Спасибо. Только до меня не дошло как ты его тушишь. Это не подвластно моему недоразвитому мозгу.
и ещё. когда нажимаешь потушить, он ещё чуть-чуть догорает. а как сделать чтобы он гас мгновенно?
Я думаю нужно сделать _alpha = 0, и по-моему проще было бы сделать removeMovieClip для клипов с fire1 по fire60. подскажи как написать с... по...

sergwizard
05.01.2004, 15:18
Ну, если ты хочешь, чтобы огонь исчезал мгновенно (чего никогда не бывает),
то в свой первоначальный исходник, в первый фрейм допиши такие строки:
click = 1;
fire._visible = 0;

Сделай кнопку на все фреймы, и повесь на нее такой скриптик:

on(release){
click = (click-1)%2;
for(i=0;i<=max;i++){
_root["fire"+i]._visible = click;
}
}

Если хочешь без кнопки, то скрипт будет такой:

this.onMouseDown = function(){
click = (click-1)%2;
for(i=0;i<=max;i++){
_root["fire"+i]._visible = click;
}
}

kazakov_gin
06.01.2004, 16:09
Спасибо. Наконец-то до меня дошло. вообще мне нужно было всево лишь создать цикл в кадре, где нужно его остановить:
for(i=0;i<=60;i++){
_root["fire"+i]._visible = 0
}
и всего-то, а я как мудился...

kazakov_gin
07.01.2004, 13:02
помогите ещё разок. :rolleyes:
вот игра пазл в не стоят два брейкпоинта. первый возле задержки, которая почему-то не происходит, а второй там где должна срабатывать правая кнопка мыши, а действие происходит только когда нажаты обе кнопки мыши.

kazakov_gin
07.01.2004, 13:47
Блин большой сильно. скачайте отсюдаhttp://www.x-gin.narod.ru/puzzle.zip

sergwizard
07.01.2004, 17:18
Попробуй первый фрейм переписать так:

_root.image._visible = false;
fscommand("showmenu", "false");
function scramble() {
for (var i = 1; i<=49; i++) {
_root["piece"+i]._x = Math.floor(Math.random()*400)+360;
_root["piece"+i]._y = Math.floor(Math.random()*480)+40;
_root["piece"+i]._rotation = Math.floor(Math.random()*4)*90;
clearInterval(scr);
}
}
function RotateDisplayOrDrag(whichPiece) {
if (Key.isDown(Key.SHIFT)) {
_root[whichPiece]._rotation += 90;
} else {
startDrag(_root[whichPiece], false, 20, 20, 780, 580);
}
}
function Snap(whichPiece) {
if (whichPiece._x>40 && whichPiece._x<320 && whichPiece._y>40 && whichPiece._y<320) {
var xSnapNumber = Math.floor((whichPiece._x-20)/40);
var ySnapNumber = Math.floor((whichPiece._y-20)/40);
if (((whichPiece._x-20)%40)/40<.5) {
whichPiece._x = xSnapNumber*40+20;
} else {
whichPiece._x = (xSnapNumber+1)*40+20;
}
if (((whichPiece._y-20)%40)/40<.5) {
whichPiece._y = ySnapNumber*40+20;
} else {
whichPiece._y = (ySnapNumber+1)*40+20;
}
}
}
function IsItDone() {
var columns = 7;
for (var i = 1; i<=49; i++) {
var row = Math.ceil(i/columns);
var column = i-((row-1)*columns);
with (this["piece"+i]) {
if (_x != column*40+20 || _y != row*40+20 || _rotation != 0) {
break;
}
}
}
if (i == 50) {
trace("YES!!!!!!!!!");
nextFrame;
}
}
scr = setInterval(scramble, 800);

В Flash (до Flash 2004 MX) использование второй кнопки - не есть хорошо.
В твоем случае лучше использовать SHIFT. Это удобнее.

kazakov_gin
07.01.2004, 17:49
поробовал. задержка мне нужна не перед разбрасывание, а чтобы эти хрени поочереди разлетались. правая кнопка мне всё таки нужна.

sergwizard
07.01.2004, 22:48
function scramble() {
i++;
_root["piece"+i]._x = Math.floor(Math.random()*400)+360;
_root["piece"+i]._y = Math.floor(Math.random()*480)+40;
_root["piece"+i]._rotation = Math.floor(Math.random()*4)*90;
if(i>=49){
clearInterval(scr);
}
}

и

scr = setInterval(scramble, 100);

Многие хотят вторую кнопку, но Macromedia забрала ее под себя. :)

Штрек
07.01.2004, 23:41
Оригинал написал(а) sergwizard
[code]
Многие хотят вторую кнопку, но Macromedia забрала ее под себя. :)
А у меня четыре кнопки+колесо - гуляй не хочу. :D

sergwizard
08.01.2004, 00:43
Ха, так ты юзаешь Flash 2004 MX, поэтому и гуляешь. :D

kazakov_gin
08.01.2004, 07:05
Так у меня работает правая кнопка, но только вместе с левой (я говорю про этот исходник).
сам не знал что я такой упрямый

sergwizard
08.01.2004, 08:50
А у меня, с твоим исходником, не работает. Хотя у меня стоит 7-й плэйер. Так что, не будь таким упрямым, и плюнь на правую кноопку. :)

kazakov_gin
08.01.2004, 15:53
У меня почемуто не работает задержка так как ты написал.
но работает вот так:

function Scramble() {
i++;
if (i<=49) {
_root["piece"+i]._x = Math.floor(Math.random()*400)+360;
_root["piece"+i]._y = Math.floor(Math.random()*480)+40;
_root["piece"+i]._rotation = Math.floor(Math.random()*4)*90;
}
}
setInterval(Scramble, 80);

sergwizard
09.01.2004, 17:44
Странно... А какой у тебя Flash и OS?

kazakov_gin
10.01.2004, 09:25
Windows 2K and Flash MX

nuran
10.01.2004, 09:30
Оригинал написал(а) kazakov_gin
я скачал из исходников горящий огонь. как его остановить.

Песком.

kazakov_gin
10.01.2004, 09:38
долговата ты, nuran, думал. Всётаки работает у меня правая мышь. но как её отучить, чтобы она без левой срабатывала?

kazakov_gin
25.01.2004, 14:48
я думаю что нужно написать
_root[whichePiece].onRollOver=function(){
if(KeyisDown(2)){\
_root[whichePiece]._rotation+=90
}
}
Но почему то нихрена не работает