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

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

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

Регистрация: Nov 2006
Сообщений: 11
По умолчанию Меню типа спидометр

Уважаемые знатоки!
Помогите, плз, начинающей девушке сделать меню в виде половины циферблата часов или спидометра, так чтобы при наведении на пункты меню стрелка поворачивалась на нужный угол, при этом слегка покачиваясь при остановке.
Честно целый день искала примеры. Нашла маятники и слежение за курсором. А мне бы не слежение, а просто поворот при наведении на пункт меню..
Спасибо огромное за помощь всем, кто откликнется.

Старый 05.03.2008, 20:46
Olegg вне форума Посмотреть профиль Найти все сообщения от Olegg
  № 2  
Ответить с цитированием
Olegg
Banned
[+1 21.02.08]
[+4 21.02.08]
[+5 13.03.08]
[+4 13.03.08]

Регистрация: Feb 2008
Сообщений: 63
это можно сделать даже стандартными командами проще простого.
Вопрос в том,будет ли меню изменяться(добавляться элементы) или количество пунктов останется неизменным? то есть,если 4 пункта -
п.1 - стрелка поворачивается на 45 гр.
п.2 - на 90
п.3 - на 135
п.4 - на 180.

Я прально понял? В общем тут есть два варианта - если меню не будет меняться,можно просто при наведении курсора на нужный мувик мувик со стрелкой перемещался на нужный кадр,там где поворот.Если будет меняться - вам придётся вспомнить математику.

Старый 05.03.2008, 21:18
мазель вне форума Посмотреть профиль Отправить личное сообщение для мазель Найти все сообщения от мазель
  № 3  
Ответить с цитированием
мазель

Регистрация: Nov 2006
Сообщений: 11
Вспомнить математику, а точнее углы в градусах, это не сложно А вот как сделать, чтобы при наведении на п.1 стрелка повернулась на угол1, при наведении на п.2 стрелка повернулась на угол2. Не прыгнула, а именно повернулась, покачиваясь в конце движения.

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
На счет покачивания, можно это вручную анимировать и запускать в нужный момент.
Код:
myMc.onPress = function() {
      rotateArrow(60, 3);
}

function rotateArrow(angle:Number, speed:Number):Void {
   arrowMc.onEnterFrame = function() {
         if(arrowMc._rotation > angle) {
               arrowMc._rotation -=speed;
         }else if(arrowMc._rotation < angle) {
               arrowMc._rotation +=speed;
         }else {
               arrowMc.gotoAndPlay(2); // вот тут запускается анимация дрожания
               delete arrowMc.onEnterFrame;
         }
   }
}
Писал "на лету", по этому формат никакой )


Последний раз редактировалось Obi; 05.03.2008 в 21:43.
Старый 05.03.2008, 22:20
мазель вне форума Посмотреть профиль Отправить личное сообщение для мазель Найти все сообщения от мазель
  № 5  
Ответить с цитированием
мазель

Регистрация: Nov 2006
Сообщений: 11
Я не очень поняла, что куда надо поместить.. На пункты меню надо ведь вызов функции или что-то там? Чтобы при наведении на пункт стрелка поворачивалась.. А саму функцию просто в jnltkmysq слой action? Можно мне подробнее, плиззз!!!

Старый 05.03.2008, 23:09
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 6  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
мазель, я бы сделал как то так.
Вложения
Тип файла: zip pack.zip (8.5 Кб, 141 просмотров)

Старый 05.03.2008, 23:17
мазель вне форума Посмотреть профиль Отправить личное сообщение для мазель Найти все сообщения от мазель
  № 7  
Ответить с цитированием
мазель

Регистрация: Nov 2006
Сообщений: 11
Спасибо за попытку, но мне, к сожалению, так не подходит(( следить за мышкой и подсвечивать кнопки я справилась и сама. А мне надо вообще без слежения за мышкой, только поворот при наведении на кнопку...

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от мазель
Я не очень поняла, что куда надо поместить.. На пункты меню надо ведь вызов функции или что-то там? Чтобы при наведении на пункт стрелка поворачивалась.. А саму функцию просто в jnltkmysq слой action? Можно мне подробнее, плиззз!!!
Код:
import flash.geom.Point;
import caurina.transitions.Tweener; // http://code.google.com/p/tweener/  Copyright (c) 2006-2007 Zeh Fernando and Nate Chatellier

var centerPoint:Point = new Point(Stage.width/2, Stage.height/2);
var radius:Number = 160; 
var amountParas:Number = 15;
var myArrow:MovieClip;

buildMenu(centerPoint,radius,amountParas);
createArrow();

function buildMenu(centerPoint:Point, radius:Number, amountParas:Number):Void {
	var step:Number = Math.PI*2/amountParas;
	var angle:Number = 0;
	var rotAng:Number = 0;
	for (var i:Number = 0; i<amountParas; i++) {
		createPara(_root,new Point((Math.sin(angle)*radius)+centerPoint.x, (Math.cos(angle)*radius)+centerPoint.y),30,30,i,rotAng);
		angle += step;
		rotAng -=360/amountParas;
	}
}


function createPara(cont:MovieClip, pos:Point, w:Number, h:Number, depth:Number, thisAngle:Number):Void {
	var mc:MovieClip = cont.createEmptyMovieClip("paraMc"+depth, depth);
	mc._x = pos.x;
	mc._y = pos.y;
	mc.lineStyle(2,0xFF0000);
	mc.beginFill(0x000000);
	mc.moveTo(0,0);
	mc.lineTo(w,0);
	mc.lineTo(w,h);
	mc.lineTo(0,h);
	mc.lineTo(0,0);
	mc.endFill();
	mc.onPress = function() {
		Tweener.addTween(myArrow, { _rotation:thisAngle, time:1, transition:"easeinoutexpo" } );
	}
}

function createArrow():Void {
	myArrow = _root.createEmptyMovieClip("arrow", _root.getNextHighestDepth());
	myArrow._x = centerPoint.x+5;
	myArrow._y = centerPoint.y+5;
	myArrow.lineStyle(3,0x0000FF);
	myArrow.moveTo(0,0);
	myArrow.lineTo(0,radius-15);
}
просто вставить код в новый fla.
Я правильно понял задачу?

UPD: А, ну да, еще скачать пакет отсюда и в флеше прописать путь к нему.


Последний раз редактировалось Obi; 06.03.2008 в 01:53.
Старый 06.03.2008, 12:18
мазель вне форума Посмотреть профиль Отправить личное сообщение для мазель Найти все сообщения от мазель
  № 9  
Ответить с цитированием
мазель

Регистрация: Nov 2006
Сообщений: 11
Ух ты... Спасибо большое, пойду разбираться..

Старый 06.03.2008, 13:14
Olegg вне форума Посмотреть профиль Найти все сообщения от Olegg
  № 10  
Ответить с цитированием
Olegg
Banned
[+1 21.02.08]
[+4 21.02.08]
[+5 13.03.08]
[+4 13.03.08]

Регистрация: Feb 2008
Сообщений: 63
мазель,да лучше бы сделали по кадрам переходы.Это уже черезчур - писать для такого класс.

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

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

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


 


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


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