Welkom Gast! [Registreer] :: [Login]
Navigatie

Tutorials

Shoutbox
U dient in te loggen om een bericht te plaatsen.

22/05/2012 09:42
Hartelijk dank voor de gif btw! Smile Thumbs

22/05/2012 09:41
@Hurra: Tjah, ik ben nu eenmaal voor Android. Kheb geen zin in discussie Pfft elk heeft z'n eigen smaak en voorkeur

20/05/2012 21:33
Squire, dat is nutteloze software.

20/05/2012 20:51
@ ground zero.. download GIF Movie Gear. http://www.gamani.
com/gmgdown.htm

20/05/2012 20:45
Android is het meest gesloten open source project ter wereld. Alsook, GIF


Volg ons voor statusupdates en aankondigingen!
Registreer of log in
Om gebruik te maken van de volledige functionaliteit van Modbase moet je ingelogd zijn.
Na registratie kan je reageren, onderwerpen starten, projecten toevoegen en nog veel meer.

Dit is volkomen gratis en duurt hoogstens een minuut.

Registreer gratis

Objecten laten Bewegen



In deze tutorial ga je leren hoe je dingen kan bewegen of roteren
als je deze tutorial leest, veronderstel ik dat je Deze tutorial ook hebt gelezen.
Heb je dit niet gedaan, raad ik sterk aan om dit eerst wel te doen (tenzij je de basis van het scripten al kent, maar dan las je dit niet ;-) )

Om dingen in je map te laten bewegen (wat dan ook) moeten we een simpel scriptje samestellen.
in onze thread (die ik blokje1 ga noemen) moeten we eerst en vooral onze entities aangeven (zie: Deze Tutorial )

natuurlijk komt hier ook een while loop bij(tenzij je wil dat het script maar 1 keer kan uitgevoerd worden, of de thread meerdere keren aangeroepen wordt,...)
vervolgens laten we het wachten tot de speler in een trigger loopt.

blokje1()
{
blokje_trig = getent("blokje","targetname");
blokje = getent(blokje_trig.target,"targetname");
while(1)
{
blokje_trig waittill("trigger",player);


nu hebben we een waaier van opties, allereerste kun je jou blokje naar een stel coördinaten laten bewegen.
Coördinaten kan je vinden door in radiant te kijken, of nog simpeler door in call of duty /viewpos in je console te doen
dan zou je zoiets moeten krijgen (500,300,100) ; 52
die 52 kan je vergeten, alles wat we nodig hebben is dat wat tussen haakjes staat
coördinaten worden voorgesteld als (X,Y,Z)
dus zo: (500,300,100)
doordat we ingame /viewpos hebben gebruikt hebben we niet de exacte hoogte. speel hier een beetje mee.
je kan natuurlijk altijd eerst ingame kijken wat het doet, dan een beetje met de coordinaten spelen, tot je de gewenste positie hebt bereikt.

om ons blokje naar coordinaten te laten bewegen gebruiken we deze functie:
blokje moveTo((500,300,100),Tijd);

"Tijd" vertegenwoordigd het aantal seconden dat "blokje" erover doet om zich naar die coördinaten te bewegen.


we kunnen ook ons blokje over 1 as laten bewegen (X-as, Y-as of Z-as)
dit doen we zo:

blokje moveX(units, tijd);
blokje moveY(units, tijd);
blokje moveZ(units, tijd);

"units" vertegenwoordigd het aantal units dat je entity naar boven moet bewegen, volgens de as (X, Y of Z)
"tijd" is ALTIJD het aantal seconden dat "blokje" erover doet om tot z'n positie te komen.


natuurlijk kunnen we de move functie nog uitbreiden met Acceleratie en Deceleratie
"Acceleratie": hoe lang het duurt om van 0 naar een constante snelheid te gaan, deze constante snelheid hangt af van de tijd die jij hebt ingesteld (hoelang het blokje erover doet om tot z'n positie te komen)
"Deceleratie": hoe lang het duurt om van die constante snelheid naar 0 te gaan.

dit bepalen we zo in onze fucties:

blokje moveTo((X,Y,Z), tijd, acceleratie, deceleratie));
blokje moveX(units, tijd, acceleratie, deceleratie);
blokje moveY(units, tijd, acceleratie, deceleratie);
blokje moveZ(units, tijd, acceleratie, deceleratie);

met als voorbeeld:

blokje moveTo((-1000,300,-20), 5, 1, 1));
blokje moveZ(300, 7, 2, 2);

acceleratie + deceleratie mag nooit meer zijn dan de totale tijd!


je kan natuurlijk ook nog dingen roteren, mits ze een origin hebben (in je script_brushmodel, xmodels hebben van hun eigen al een origin (dat paarse blokje), als deze niet goed is zul je er zelf wel een moeten maken)
iets laten roteren doen we zo:

blokje rotatePitch(graden, tijd);
blokje rotateYaw(graden, tijd);
blokje rotateRoll(graden, tijd);

Pitch, Yaw en Roll roteren elk naar een verschillende kant, speel hier een beetje mee tot ze naar de juiste kant roteren(als je niet weet naar waar ze draaien met bv rotatePitch)

rotatePitch = y-as
rotateYaw = z-as
rotateRoll = x-as

graden: de hoeveelheid graden je object moet draaien van -360 tot 360. (het kan alles hier tussen zijn, als je iets bijvoorbeeld 90 graden wil laten draaien doe je dit zo: blokje RotatePitch(90,tijd);
tijd is steeds weer de hoeveelheid seconden het duurt.

natuurlijk kunnen we dit weer uitbreiden met acceleratie en deceleratie, op dezelfde manier zoals bij move functie

blokje rotatePitch(graden, tijd, acceleratie, deceleratie);
blokje rotateRoll(graden, tijd, acceleratie, deceleratie);
blokje rotateYaw(graden, tijd, acceleratie, deceleratie);



op het einde zou je een script moeten krijgen zoals dit (dit is zeer simpel, natuurlijk kan het helemaal anders zijn)
blokje()
{
blokje_trig = getent("blokje","targetname");
blokje = getent(blokje_trig.target,"targetname");
while(1)
{
blokje_trig waittill("trigger",player);
blokje moveto((X,Y,Z),Tijd);
wait Tijd;
blokje moveto((X,Y,Z),Tijd); // terug naar vorige positie
wait Tijd;
}
}




Deze tutorial is gemaakt door HuRRaCaNe, exclusief voor Modbase.be.
Als je nog opmerkingen hebt, of vragen, aarzel dan niet om een PM te sturen!

Met dank aan Derix.

Inloggen

Online users
Nieuwste lid:
mericin

· Fristi<5 min
· LazY00:07:00
· IzNoGoD00:12:37
· Niels00:16:10
· wollephoenix00:49:26
· BoydelaMorte01:05:48
· usselite01:37:58
· vinhui01:45:12
· Wolph01:58:39
· mericin02:05:53
· Google[bot]Online

Gasten online: 4


Link ons

Partners

Links


Naar Boven

© 2006-2012 Modbase. Alle rechten voorbehouden. Disclaimer | Gedragscode

Custom coding by Stijn, Image fixing by Derix