Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Привет.лв Главная Справка Поиск Вход Регистрация
Страниц: 1
Печать Bookmark and Share
Удалить этот блок рекламы?
Удали рекламу
MS Agent (Прочитано 6059 раз)
Pyr0
Человек форума
*
Вне Форума

Freeze People

Сообщений: 1172

Пол: male
MS Agent
18.07.2006 :: 16:10:45
 
а как заставить открываться чара и произносить определённый звуковой файл с наведением мыши на определённую ссылку или обьект, пример такого применения можно найти на govorunplus.narod.ru
Наверх
 
 
  IP записан
Ramzies
Администратор
*****
Вне Форума

Все что случается
имеет причину.

Сообщений: 2632
Даугавпилс, Валмиера.
Пол: male
Re: MS Agent
Ответ #1 - 19.07.2006 :: 23:02:31
 
Нажимаем правой кнопкой на сайте govorunplus.narod.ru, далее Просмотр HTML-кода и копаемся в исподниках. :)
Вобщем вот что у меня получилось на скорую руку:
Код:
<Object ID="AgentControl" Width=0 Height=0  ClassID="CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F"  CodeBase="#VERSION=2,0,0,0"></Object>
<Object ID="L&HTruVoice" Width=0 Height=0  ClassID="CLSID:B8F2846E-CE36-11D0-AC83-00C04FD97575"  CodeBase="#VERSION=6,0,0,0"> </Object>
  
  <Script Language="JavaScript">
// * Character Objects
var Peedy;

// * Variables
var UsedChars;
var PeedyID;
var PeedyACS;
var PeedyLoaded;
var LoadReq;
var HideReq;
var PeedyLeftX, PeedyCenterX, PeedyRightX;
var PeedyTopY, PeedyCenterY, PeedyBottomY;
var Say;

// * Initialize
UsedChars = "Peedy";

// * Peedy
PeedyID = "Peedy";
PeedyACS = "peedy.acs";
PeedyLoaded = false;


Window_OnLoad();

function Window_OnLoad() {
    // Purpose:  Runs automatically when page is loaded

    // * INSERT ANY NON-AGENT RELATED SCRIPTING HERE

    AgentControl.Connected = true;

    PeedyLoaded = LoadLocalAgent(PeedyID, PeedyACS);

    if (!PeedyLoaded) {
        // Attempt to load default character
        PeedyLoaded = LoadLocalAgent(PeedyID, "");
    }

    if (PeedyLoaded) {
        SetCharObj();
    }
    CheckLoadStatus();
}

function LoadLocalAgent(CharID, CharACS) {
    // Purpose:  Attempts to load the specified character
    // Returns:  true if successful, false if not

    AgentControl.RaiseRequestErrors = false;
    if (CharACS == "") {
        LoadReq = AgentControl.Characters.Load(CharID);
    }
    else {
        LoadReq = AgentControl.Characters.Load(CharID, CharACS);
    }
    AgentControl.RaiseRequestErrors = true;

    if (LoadReq.Status != 1) {
        return(true);
    }
    return(false);
}

function SetCharObj() {
    // Purpose:  Sets the character reference and TTS Language ID

    Peedy = AgentControl.Characters.Character(PeedyID);
    Peedy.LanguageID = 0x419;
}

function CheckLoadStatus() {
    // Purpose:  Determines if required characters have been loaded.
    //           If not, issue request to load next character
    //           else run the AgentIntro routine

    if (!PeedyLoaded) {
	  LoadError();
        return(false);
    }

    window.status = "";
    AgentIntro();
    return(true);
}

function LoadError() {
    var strMsg;
    window.status = "";
    strMsg = "Не найден необходимый персонаж:\n";
    strMsg = strMsg + "\n";
    strMsg = strMsg + UsedChars+"\n";
    strMsg = strMsg + "\n";
    strMsg = strMsg + "Персонаж нужен для того, чтобы сопровождать Вас во время прогулки по сайту.\n";
    strMsg = strMsg + "Если Вы хотите пользоваться этим сервисом - скачайте персонаж из раздела Загрузка.\n";
    alert(strMsg);
}
function GetScreenPositions() {
    var ScreenWidth = window.screen.width;
    var ScreenHeight = window.screen.height;

    if ((ScreenWidth == 0) || (ScreenHeight == 0)) {
        ScreenWidth = 800;
        ScreenHeight = 600;
    }

    PeedyCenterX = (parseInt(ScreenWidth / 2) - parseInt(Peedy.Width / 2));
    PeedyRightX = (ScreenWidth - Peedy.Width);
    PeedyCenterY = (parseInt(ScreenHeight / 2) - parseInt(Peedy.Height / 2));
    PeedyBottomY = (ScreenHeight - Peedy.Height);
}



function AgentIntro() {
    GetScreenPositions();
    // *** BEGIN MASH USER SCRIPT ***

    Peedy.MoveTo(PeedyCenterX, PeedyCenterY);
    Peedy.Show();
    Peedy.Play("Wave");
    Peedy.Speak("\\Pit=205\\\\Spd=135\\Привет!");
    Peedy.Play("Pleased");
    Peedy.Speak("\\Pit=205\\\\Spd=135\\Вы на сайте программы Говорун плюс!");
        Peedy.Play("Suggest");
    Peedy.Speak("\\Pit=205\\\\Spd=135\\Щёлкните по мне правой кнопкой!");


    // *** END MASH USER SCRIPT ***
}

function say_info(){
if (PeedyLoaded) {
if (Peedy.Visible){
       Peedy.StopAll();
       Peedy.Speak("\\Pit=205\\\\Spd=135\\"+say);
	}
         }
}
</Script>

<a href="download.htm" target="mainFrame" onMouseOver="say='Здесь всё, что необходимо закачать, включая саму программу...', say_info()">ddd</a>
<a href="4users.htm" target="mainFrame" onMouseOver="say='Этот раздел для Вас!', say_info()">fdgdfg</a> 


В целом интересная идея. Честно - я об этом и не знал. :)  Но все же не рекомендую использовать эту возможность на сайтах. JavaScript работает только в IE. Вы обделяете пользователей Mozilla, Opera. Зря - На сегодняшний день пользователи этих браузеров развелось достаточно внушительное количество. Сам исключительно пользуюсь Оперой. К тому же текст произносить он будет не у всех пользователей. Изначально в Win стоит только английский. Русский текст помощник читать не может. (Вы скачали Говорун вероятно он вам добавил русское произношение.)  
Наверх
 
 

Просмотр медиа-файлов и переход по ссылкам доступен только для Участников Форума!  Вы нуждаетесь в Вход или Регистрация!!
Научись говорить, что ты _х_о_ч_е_ш_ь, вместо точго, чего ты _н_е_ _х_о_ч_е_ш_ь...
WWW Ramzies renat2985   IP записан
Pyr0
Человек форума
*
Вне Форума

Freeze People

Сообщений: 1172

Пол: male
Re: MS Agent
Ответ #2 - 23.07.2006 :: 17:01:33
 
а как добавлять аналогичные фразы, наводя на другие ссылки, а то у меня ничего не работает Плачущий Улыбка Улыбка Улыбка Улыбка
Наверх
 
 
  IP записан
Ramzies
Администратор
*****
Вне Форума

Все что случается
имеет причину.

Сообщений: 2632
Даугавпилс, Валмиера.
Пол: male
Re: MS Agent
Ответ #3 - 23.07.2006 :: 19:52:04
 
Я же все написал.   Нерешительный
Ну вот смотрите:
Код:
<a href="тут пишем название html файла на который будем переходить после нажатия на кнопку" target="mainFrame" onMouseOver="say='Здесь пишем тот текст которвый будет говорить помощник.', say_info()">Здесь название кнопки. Также сюда можно вставлять рисунки</a> 

Наверх
 
 

Просмотр медиа-файлов и переход по ссылкам доступен только для Участников Форума!  Вы нуждаетесь в Вход или Регистрация!!
Научись говорить, что ты _х_о_ч_е_ш_ь, вместо точго, чего ты _н_е_ _х_о_ч_е_ш_ь...
WWW Ramzies renat2985   IP записан
Pyr0
Человек форума
*
Вне Форума

Freeze People

Сообщений: 1172

Пол: male
Re: MS Agent
Ответ #4 - 24.07.2006 :: 10:10:42
 
я так и делал, тока у меня появляются ссылки, но при наведении не них мышкой, они не произносятся, а просто реагируют как простые ссылки
Наверх
 
 
  IP записан
Страниц: 1
Печать Bookmark and Share
www.privet.lv

Privet.lv/forum » Powered by YaBB 2.2.3 (fix)!
YaBB © 2000-2012. Все права защищены.
Valid RSS Valid XHTML Valid CSS Powered by Perl Source Forge