Guida Turistica

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Guida Turistica as PDF for free.

More details

  • Words: 436
  • Pages: 11
Scriptiamo una “Guida Turistica” (Pergola) Salahzar Stenvaag ALI – Accademia Land Italiane Ottobre 2009

Introduzione Pilotato

da una notecard Oggetto fisico “personale” su cui ci si può “sedere” Sulla notecard coordinate, titolo, descrizione Sequenza di frasi da dire mentre ci si muove Specifica della rotazione finale Si muove verso prossima tappa con un “touch” All’ultimo touch torna alla posizione pagina

2

Struttura Notecard # Posizione iniziale, testo, colore,rotazione <48,29,251>|Sono la guida, cliccami|<1,0,0>|<0,0,0> # Le righe successive contengono la prima posizione finale, titolo, colore, rotazione,secondi per arrivarci # poi una serie di righe che terminano con una riga vuota e così via <54,35,251>|La Torre|<0,0,1>|<0,0,45>|3 Adesso andiamo alla torre seguimi per cortesia arriveremo subito 



# Ultima destinazione termina invece con FINE <54,29,251>|Destinazione finale|<0,1,0>|<0,0,90>|5 Andiamo alla destinazione finale FINE 

pagina

3

Struttura del programma Variabili

globali (essenziali!!!!) Funzioni di utilità (parse) Stato default per copiare la notecard in memoria ◦ State_entry: inizio lettura notecard ◦ Dataserver: per leggere via via le varie righe Stato

ready (pronta per fare la guida) ◦ State_entry: inizializza prima “stazione” pagina ◦ Touch_start: per passare prossima

4

Variabili globali string notecard; // nome della notecard integer line; // riga a cui siamo arrivati a leggere list lines; // copia della notecard senza # commenti 



vector pos; // posizione letta “stazione” string text; // Titolo “stazione” per llSetText vector color; // colore del titolo vector rot; // rotazione dell’avatar float secondi; // quanti secondi pagina 

5

Funzione “parse” per estrarre elementi riga (pos,text,col,rot,secs) parse(string s)   

{ list pieces=llParseStringKeepNulls(s, ["|"],[]);





pos=(vector)llList2String(pieces,0) ; text=llList2String(pieces,1);

 pagina

6

Stato default state_entry default {  state_entry()  {  llSetStatus(STATUS_PHYSICS,FALSE);  llSetBuoyancy(1); // fluttua in aria  llSetText("Sono una guida turistica",<1,1,1>,1); 





notecard=llGetInventoryName(INVENTO RY_NOTECARD,0); pagina 7 lines=[];

Stato default data_server dataserver(key id,string str)  { 

 

     



llSetText("Reading line "+ (string)line,<1,1,1>,1); if(str!=EOF) { // ignora le righe che iniziano con # if(llGetSubString(str,0,0)!="#") lines+=[str]; line++; llGetNotecardLine(notecard,line); pagina

8

Stato ready state_entry state ready {  state_entry()  {  line=0;  // trova pos, text, color  parse(llList2String(lines,line));  llSetText(text,color,1);  llSetPos(pos);  llSetRot(llEuler2Rot(DEG_TO_RAD*rot)); 

 

pagina

9

Stato ready touch_start touch_start(integer total_number) {  line++;  if(text=="FINE“) {  llResetScript();  return;  }  parse(llList2String(lines,line));  llSetText(text,color,1); id=llTarget(pos,.3);  llSetStatus(STATUS_PHYSICS,TRUE);  llMoveToTarget(pos,secondi);  while(TRUE) {  line++;  text=llList2String(lines,line);  if(text=="FINE") return;  if(text=="") return; pagina 

10

Stato ready at_target 

 

at_target(integer tnum, vector pos, vector our) { llTargetRemove(id);





llSetStatus(STATUS_PHYSICS,FALSE); llSetPos(pos);





llSetRot(llEuler2Rot(DEG_TO_RAD*rot )); llSay(0,"cliccami per la prossima pagina

11

Related Documents

Guida Turistica
June 2020 13
Guida Turistica Pesco
June 2020 3
Guida
November 2019 83
Guida
November 2019 44
Geografia Turistica
June 2020 9
Semana Turistica
June 2020 12