javascript tekenfilms (4, deel 2),,,,,,,,,, 16, delen, delen van,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, in een document hebben we deze ideeën, spriting, animatie, in javascript, in browsers, een eenvoudige methode.We hebben voor het opstellen van een elf, die, tegen de achtergrond van een beeld, gebruik dan javascript achtergrond van positie veranderen zodat het lijkt alsof de bewegende beelden.,,, in dit verslag, en we zullen het gebruik van deze techniek, animatie rennen en springen.Met het oog op het scheppen van animatie, we moeten op een vaste tijd van snelle veranderingen plaats in de achtergrond.Kijk naar de elfen ons gebruiken.,,,, voldoen aan de mascotte voor mijn bedrijf j, concurrentie -, in ons geval, we hebben tien beeld: een J - station drie naar rechts, naar rechts een J J (per vliegtuig springen naar rechts en links).Laten we naar rechts van hem.Om ervoor te zorgen dat we de beelden ziet eruit als het werkt, moeten we twee dingen doen: wijziging van elf verschillende beelden en mobiele, die, naar rechts.,, terecht, animatie, we willen zeker niet in een andere knop klikt, door middel van de cyclus van de tovenaar, dus we moeten een aantal functies te creëren, zodat we het de werking van automatische werking, we willen:,, mobiele, div, rechts een beetje naar het volgende beeld van de animatie, even pauze ("het voortbestaan van een visie", de functie van een ring, en gelukkig is er een eenvoudige manier aansprakelijk is voor de ring.In de beschikking in de zeer lokale settimeout, zal ons in staat stellen het creëren van een vertraging, dan zullen we weer de functie (functie interne), run_right () {///////de functie van de lichte verschuiving naar rechts...Voor het volgende beeld /wijziging van animatie...Het heet "run_right /200 milliseconden meer na settimeout (functie) (run_right ();}, 200);}, dus hebben we nu een functie zelf zal noemen en vijf keer (dit zal genoeg om onze doelstelling van animatie -).Weet je nog, de browser in de timer niet erg nauwkeurig.Je kan de aangewezen milliseconden, maar dat betekent niet dat je het script loopt op dat de juiste tijd.Dan moeten we de problemen op te lossen, is onze functie is, hoe het te begrijpen?In ons geval, moeten we door onze drie beeld (met vier algemene beeld van animatie -) cycli, en weer terug.Om dit te bereiken, zullen we onze functie door de informatie, vertel het, dia 's over te schakelen op.Eenmaal in functie, dan doen we een test zal onderzoeken, moeten we op die dia 's, en over te schakelen op de juiste positie van de elfen achtergrond.Als we het opnieuw functioneren, zullen we door de volgende dia als functie van de parameters, run_right (') {///////lichte verschuiving naar rechts...- (DIA) {///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////...Het dossier. GetElementById (J "). Style.backgroundposition =" 30px 0px "; settimeout (functie) (run_right (2);}, 200); breuk; zaak 2://als" gladde "betekent" 2 ".Het dossier. GetElementById (J "). Style.backgroundposition =", 0px "; settimeout (functie) (run_right (3);}, 200); breuk; zaak 3://als" gladde "betekent" drie "...Het dossier. GetElementById (J "). Style.backgroundposition =" 120px 0px "; settimeout (functie) (run_right (4);}, 200); breuk; zaak 4://als" gladde "" 4 "is gelijk aan...Het dossier. GetElementById (J "). Style.backgroundposition =", 0px "; settimeout (functie) (run_right (1);}, 200);}}, rust nu, als we de functie was, moeten we ervoor zorgen dat we door het starten van dia 's, < input - type =" knop "waarde" beheer van rechten "onclick=" run_right (1); "> ook, laten we die micro - rechts, kunnen we de eerste eigenschap door middel van links, div, dan bewegen, div, iets als functie van de functie van run_right (glijden, links) {links = links + 15; ///////toename van z' n de linker eigenschap 15px dossier. GetElementById (J"). Style.left = links + "Postkantoor"; - (') {///////- Verklaring van de mogelijkheid van het onderzoek van de verschillende "gladde"Zaak C - 1: als de dia 's gelijk is aan 1...Het dossier. GetElementById (J "). Style.backgroundposition =" 30px 0px "; settimeout (functie) (run_right (2, links);}, 200); breuk; zaak 2://als" gladde "betekent" 2 ".Het dossier. GetElementById (J "). Style.backgroundposition =", 0px "; settimeout (functie) (run_right (3, links);}, 200); breuk; zaak 3://als" gladde "betekent" drie "...Het dossier. GetElementById (J "). Style.backgroundposition =" 120px 0px "; settimeout (functie) (run_right (4, links);}, 200); breuk; zaak 4://als" gladde "" 4 "is gelijk aan...Het dossier. GetElementById (J "). Style.backgroundposition =", 0px "; settimeout (functie) (run_right (1, links);}, 200);}}, rust, toen we voor het eerst een functie op dit moment, moeten we ervoor zorgen dat we door middel van de linkerkant van de onze, div, LT; in type = en." knop "=" franchise "onclick=" run_right (1, documenten. GetElementById (J "). Offsetleft);" >,, stop met animatie, dus nu hebben we een functie in het genoemd, een animatie J werking van de rechten.Helaas hebben we geen manier om het te stoppen.Ten eerste, we nodig zullen zijn om de functie van een zelf stoppen, als we aan de rand van de fase die aan.Om dit te bereiken die een keer van de functie, we onderzoeken een verklaring, als,, kijken of er ruimte blijft lopen.Als dat zo is, zouden we als normaal.Als we dat niet doen, zal voor het einde van de functie en de terugkeer van z 'n functie in Sprite, run_right (glijden, links) {///////15 wordt toegevoegd als we links en rechts aan de rand van J niet op het podium rechts...Als ((linker 15 < (doc. GetElementById ('stage "). Offsetwidth dossier. GetElementById (J"). Offsetwidth)) {///////onze kamer.Blijven zoals normale mensen hier} {///////als we aan de rechterkant, we moeten stoppen met bellen en naar station van documenten. GetElementById (''). Style.backgroundposition = "0px 0px"}}; en, tot slot, we willen tegenhouden, als het nodig is.We kunnen een bevel, settimeout (), een variabele, en daarna niet meer, cleartimeout (), commando 's.Om dit te bereiken, moeten we de verklaring van de variabele externe functies, zodat we het kunnen verwijzen.Nu, zullen we dat het als een van de variabelen.Dit is een verschrikkelijke praktijk van de code, maar we zullen in het volgende artikel op dit punt te corrigeren.Dit is onze functie lijkt, de VAR - Timer; de functionele run_right (glijden, links) {als (linker 15 < (doc. GetElementById ('stage "). Offsetwidth dossier. GetElementById (J"). Offsetwidth)) {links = links + 15; ///////meer z 'n linker eigenschap door getElementById (J 15px documenten. "). Style.left = links +" Postkantoor "; - (') {///////- Verklaring van de mogelijkheid van het onderzoek van de verschillende" gladde "Zaak C - 1://als" gladde "" 1 "is gelijk aan...Het dossier. GetElementById (J "). Style.backgroundposition =" 30px 0px "; settimeout (functie) (run_right (2, links);}, 200); breuk; zaak 2://als" gladde "betekent" 2 ".Het dossier. GetElementById (J "). Style.backgroundposition =", 0px "; settimeout (functie) (run_right (3, links);}, 200); breuk; zaak 3://als" gladde "betekent" drie "...Het dossier. GetElementById (J "). Style.backgroundposition =" 120px 0px "; settimeout (functie) (run_right (4, links);}, 200); breuk; zaak 4://als" gladde "" 4 "is gelijk aan...Het dossier. GetElementById (J "). Style.backgroundposition =", 0px "; settimeout (functie) (run_right (1, links);}, 200);}} {rusten; andere documenten. GetElementById (J"). Style.backgroundposition = "0px 0px";}}, kunnen we stoppen met het creëren van een functie die timer terug naar de elfen staan beelden, functionele stop_running () {doc. GetElementById (J "). Style.backgroundposition =" 0px 0px "; de goedkeuring van de timer (!);}, links rijden, animatie, nu ik die code, run_right leningen, functie, kunnen we een nieuwe functie, om Een en run_left, functie, die slechts een kleine wijziging, de functie run_left (fase, links) {als (linker 15) > 0 = 15) {links, links.Een. GetElementById (J "). Style.left = links +" Postkantoor "; - (fase 1) (zaak: de documenten. GetElementById (J"). Style.backgroundposition = "30px - 50px"; de timer = settimeout (functie) (run_left (2, links);}, zaak 2 200); schuld;: documenten. GetElementById (J "). Style.backgroundposition =" - "; de timer = settimeout (functie) (run_left (3, links);}, 200); breuk; Zaak 3: documenten. GetElementById (J"). Style.backgroundposition = "120px - 50px"; de timer = settimeout (function () {run_left (4, links);}, 200); breuk; Zaak 4: documenten. GetElementById (J "). Style.backgroundposition =" - "; de timer = settimeout (functie) (run_left (1.Links);}, 200);}} {rusten; andere documenten. GetElementById (J "). Style.backgroundposition =" 0px - 50px ";}}, animatie, springen, we moeten, tot slot, de functie van het creëren van een sprong.We zullen de twee parameters in deze functie, een baan of die op dit moment naar boven of beneden, een andere zullen volgen momenteel de hoogste attributen bewegen, div.Tussen die twee, we zullen bepalen welke richting, die moeten gaan, hoe ver we zullen minder mobiele, div, dicht in de buurt van de simulatie van de hop - versnelling) functies springen (,) {/* * * * * * * * j z 'n geest veranderen we springen...* * * * * * * /documenten. GetElementById (J "). Style.backgroundposition =" * * * * * * * * * * * * * * 160px 0px "; /hier, we moeten vaststellen of hij moet reizen naar boven of beneden...* * * * * * * als (& & (doc. GetElementById (''). Offsettop > ///////20)) {als hij de huidige bewegen, hij is meer dan 20 pixel van het podium.De hoogste top (, 1); ///////- voor we springen van een geringe grootte, in plaats van een constante beweging zoals die dossiers. GetElementById (J "). Style.top = +" Postkantoor "; ///////veranderen z 'n positie timer = settimeout (functie) (hop (top);},; ///////60) en dan weer anders als functie) () {///////als hij de huidige bewegen, maar hij is bijna op het podium komen terug.= valse; ///////- "onze" variabelen, dus hij zal vallen van de volgende cyclus van de timer = settimeout (functie) (hop (top);}, anders als (60);}.Een & & (doc. GetElementById (''). Offsettop < 115)) {///////als hij naar beneden, maar meer dan aangebracht, vanaf de grond, en hij zal blijven dalen.De hoogste top + (, 1); ///////z 'n dossier in de herfst zal iets sneller. GetElementById (J "). Style.top = +" Postkantoor "; de timer = settimeout (functie) (hop (top);}, 60);} {///////anders als hij naar beneden en hij is aangebracht, in de de grond...Het dossier. GetElementById (J "). Style.top ="; ///////120px "hem op de vloer van de documenten. GetElementById (J"). Style.backgroundposition = "0px 0px"; ////////we bellen niet terug staan? Omdat hij zijn ring stond dit punt}}, nu kunnen we ons de knop van de functie van vier en er is een prototype van de animatie rennen en springen.Zie de toelichting en de source code blz. Download elfen tabel, ik gebruikte, als je wilt.,, conclusies, nu, terwijl we hier een werkend prototype, misschien is het je opgevallen dat dit een van de auto 's.Als je op een knop bij meer dan een script proberen te vluchten.Of, als je op een knop weg te klikken, zullen blijven dalen, tot in de eeuwigheid.Maar, zoals ik al eerder heb gezegd, we hebben de variabelen in het script, dit betekent dat het moeilijk kan zijn om deze code wordt toegevoegd aan de reeds bestaande pagina 's niet door andere javascript (dit is ook de reden waarom ik niet wil in deze blog die deze code).In onze volgende artikel, zullen we je al deze fouten en over het concept, de verpakking, en de reden waarom het belangrijk is om in de echte wereld is geschreven in code, goed.
Javascript tekenfilms (4 - Deel 2)
Previous:Het creëren van een uitgebreide
Next Page:Javascript tekenfilms (4, deel 1)