Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.12.2013, 20:16
mnjam вне форума Посмотреть профиль Отправить личное сообщение для mnjam Найти все сообщения от mnjam
  № 1  
Ответить с цитированием
mnjam

Регистрация: Dec 2013
Сообщений: 9
По умолчанию Изменение переменной при нажатой кнопке

Помогите чайнику. Сделал уже сам чтобы при нажатии на кнопку значение переменной изменялась на +1.
Не могу сделать tak, чтобы переменная изменялась на +1 при нажатой кнопке до тех пор пока кнопку не отпустишь.

Куда что прописывать? Флаш МХ. Если неправильный раздел - перенесите.

Старый 12.12.2013, 01:47
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Да, вы ошиблись разделом. Вам надо в actionscript 2.0
При нажатии на кнопку, добавляйте enterFrame, где и изменяйте значение переменной. А при release, удаляйте enterFrame.

Старый 12.12.2013, 02:31
mnjam вне форума Посмотреть профиль Отправить личное сообщение для mnjam Найти все сообщения от mnjam
  № 3  
Ответить с цитированием
mnjam

Регистрация: Dec 2013
Сообщений: 9
Спасибо за быстрый ответ. А нельзя поподробней, где enterFrame вставлять? Кстати в МХ не могу найти этот приказ, может такое быть что в МХ его нет? (см. картинку, на ней и кнопкин скрипт, который только пошагово работает)
Изображения
 

Старый 12.12.2013, 14:37
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Во-первых вам не нужно писать код на кнопке. Сначала выделите кнопку на сцене и найдите внизу панель - properties (свойства). Там где-то должно быть пустое поле, куда нужно прописать имя для вашей кнопки. Допустим это имя будет - myButton.
Затем не выделяя кнопку на сцене, пропишите указанный ниже код, в кадр сцены (в ту вертикаль кадров, где находится ваша кнопка). Можете даже создать отдельный слой, специально для скриптов.


Код AS1/AS2:
var myVar:Number=0;
 
myButton.onPress=function()
{
	trace("press")
	onEnterFrame=enterFrameFunc;
}
 
myButton.onRelease=function()
{
	trace("release")
	delete onEnterFrame;
}
 
function enterFrameFunc()
{
	myVar++;
	trace(myVar);
}

Старый 14.12.2013, 18:03
mnjam вне форума Посмотреть профиль Отправить личное сообщение для mnjam Найти все сообщения от mnjam
  № 5  
Ответить с цитированием
mnjam

Регистрация: Dec 2013
Сообщений: 9
Спасибо большое. Почти все получилось. Немного дополнил скрипт, получилось 2 кнопки для изменения переменной от 1 до 100 (см. swf).
Еше хотелось бы сделать так чтобы функция прерывалось когда курсор выходит за кнопку, а то сейчас если нажать мышкой на кнопку, а потом отпустить вне кнопки скрипт бежит дальше. Не подскажете что и куда для етого надо приписать?

button-var1.swf   (0.9 Кб)
Вложения
Тип файла: swf button-var1.swf (888 байт, 143 просмотров)

Старый 14.12.2013, 18:43
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 6  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Не знаю, как это делать на actionscript 2.0. В третей версии, можно просто словить момент выхода мыши с объекта с помощью (MouseEvent.ROLL_OUT), а в вашем случае, я бессилен помочь.

Старый 14.12.2013, 20:20
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 7  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
В вашем случае это будет функция .onDragOut

Код AS1/AS2:
myButton.onDragOut=function()
{
	trace("drag out")
	delete onEnterFrame;
}

Старый 16.12.2013, 00:39
mnjam вне форума Посмотреть профиль Отправить личное сообщение для mnjam Найти все сообщения от mnjam
  № 8  
Ответить с цитированием
mnjam

Регистрация: Dec 2013
Сообщений: 9
Спасибо, это тоже получилось. Единственноe, может можно как-то лаконичнее написать чем вот так?

Код AS1/AS2:
myButton.onRelease=function()
{
	delete onEnterFrame;
}
myButton.onDragOut=function()
{
	delete onEnterFrame;
}



Теперь над следующей кнопкой голову ломаю(см. swf). Надо чтобы при нажатии кнопки в ней появлялся и изчезал белый кружок (в мувике он обозван "rs").
С исчезанием вроде порядок, но обратно не получается. Что не так в скрипте? Можно ли в этом случае оставить скрипт на кнопке или лучше тоже вынести во фрейм?

Код AS1/AS2:
function myfunction() {
    if (rs._alpha = 100) {
        rs._alpha = 0;
    } else {
        rs._alpha = 100;
    }
}
button-var1.swf   (1.4 Кб)
Вложения
Тип файла: swf button-var1.swf (1.4 Кб, 122 просмотров)

Старый 16.12.2013, 02:31
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 9  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Ооо, старая ошибка невнимательных программистов!
знак = это операция присваивания. Проверка на равенство делается == так)
У вас в условии if (в самом условии) выставляется альфа в 100. Я даже не знаю, если честно, что там возвращается

Старый 16.12.2013, 03:26
mnjam вне форума Посмотреть профиль Отправить личное сообщение для mnjam Найти все сообщения от mnjam
  № 10  
Ответить с цитированием
mnjam

Регистрация: Dec 2013
Сообщений: 9
Так оно и есть, сейчас все встало на место! До сих пор с ActionScript кроме как с простейшими приказами в нормальном модусе сталкиваться не приходилось, поэтому такие пробелы. Спасибо за подсказки!

button-var1.swf   (1.3 Кб)
Вложения
Тип файла: swf button-var1.swf (1.3 Кб, 135 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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