Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pjv:laboratoare:07 [2019/01/16 15:51]
alexandru.gradinaru
pjv:laboratoare:07 [2019/10/02 12:57] (current)
alexandru.gradinaru
Line 97: Line 97:
 <​code>​ <​code>​
 target = PlayerManager.instance.player.transform;​ target = PlayerManager.instance.player.transform;​
 +</​code>​
 +
 +<​code>​
 +
 +        //Roteste cu 90 grade
 +        void RotateN() {
 +         ​Vector3 currentRotation = transform.rotation;​
 +         ​Vector3 wantedRotation = currentRotation * Quaternion.AngleAxis(-90,​ Vector3.up);​
 +         ​transform.rotation = Quaternion.Slerp(currentRotation,​ wantedRotation,​ Time.deltaTime * rotationSpeed);​
 +        }
 +        //Roteste inamicul cu fata catre player ​
 + void FaceTarget ()
 + {
 + Vector3 direction = (target.position - transform.position).normalized;​
 + Quaternion lookRotation = Quaternion.LookRotation(new Vector3(direction.x,​ 0, direction.z));​
 + transform.rotation = Quaternion.Slerp(transform.rotation,​ lookRotation,​ Time.deltaTime * 5f);
 + }
 </​code>​ </​code>​
  
Line 284: Line 301:
 </​code>​ </​code>​
  
-<hidden>+In ceea ce priveste cine gestioneaza questul, acesta este de obicei un NPC, deci putem extinde clasa NPC cu cateva lucuri specifice:​ 
 + 
 +<code> 
 + 
 +public class QuestNPC : NPC { 
 +  
 + 
 +  public bool assigned; 
 +  public Quest quest;
   ​   ​
 +  public override void Interaction()
 +  {
 +    base.Interaction();​ // se apeleaza metoda parinte
 +
 +    if(!assigned) {
 +      //dialog
 +      //assign
 +    }
 +    ​
 +    void CheckQuest() {
 +      if(quest.completed) {
 +        quest.GiveReward();​
 +      }
 +    }
 +  }
 +}
 +
 +</​code>​
 +
 +Gestiunea interfetei de quest pentru player, se poate face similar cu cea de inventar, prezentata in laboratorul precedent.
 +
 +
 +==== Cerinte ====
 +
 +Realizarea unui joc 3D RPG
 +
   - Adaugati unul sau mai multi NPC care:   - Adaugati unul sau mai multi NPC care:
       - stiu sa converseze (text) prin raspunsuri la intrebari standard       - stiu sa converseze (text) prin raspunsuri la intrebari standard
-      - pot oferi un quest +      - pot oferi un quest (quest-urile au obiective si recompense)
   - Adaugati unul sau mai multi inamici in scena scriptati astfel incat:   - Adaugati unul sau mai multi inamici in scena scriptati astfel incat:
       - sa fie animati       - sa fie animati
       - sa se plimbe intr-o proximitate       - sa se plimbe intr-o proximitate
-      - la apropierea jucatorului,​ sa il atace+      - la apropierea jucatorului,​ sa il atace  
 + 
 +<​hidden>​ 
 +   
 +  ​
  
 NPC NPC
Line 310: Line 365:
    
       -        - 
-      - </​hidden>​+</​hidden>​
  
 <​hidden>​ <​hidden>​
pjv/laboratoare/07.1547646661.txt.gz · Last modified: 2019/01/16 15:51 by alexandru.gradinaru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0