E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Adobe Flash

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

GRAFICA 2D  /  Adobe Flash  /  ActionScript (14)

Deplasarea unui personaj de la dreapta la stanga folosind ActionScript

05.08.2008
Deplasarea unui personaj de la dreapta la stanga folosind ActionScript

Tutorial refacut la cererea utilizatorilor. In acest tutorial-script Flash vom face un simplu personaj smiley sa se miste in toate directiile, si sa se limiteze in functie de latimea suportului (a „podelei”)

Total vizualizari: 4581 4581 afisari   |   Comentarii  6   |   Rating   |   (8 voturi)   |   Timp necesar: 15 min 15 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  Otutor.blog  
Autor:  Otutor.blog
Download
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1
comenteaza printeaza

In acest tutorial-script de actiune Flash vom face un simplu personaj Smiley sa se miste spre stanga, spre dreapta, sus si jos, si sa se limiteze in functie de latimea suportului (a "podelei").

Stiu bine ca acest lucru ar putea fi realizat mult mai usor decat il fac eu, insa am o groaza de motive intemeiate pentru a proceda astfel; avand toate casutele de validare si toate miscarile in evenimetul enter_frame, astfel ca daca tii apasata tasta stanga si daca il setam sa si sara, nu va sari doar in sus, ci in sus si catre stanga.

Iar noile sale reguli usor de aplicat cum ar fi sus-jos, prin simpla aplicare a unei noi instructiuni "if" in functia de miscare de mai jos.

Insa, pentru acest exemplu, il vom regla doar sa se deplaseze la dreapta si la stanga, ca in in aceasta situatie.

Click in interior apoi foloseste tastele stanga-dreapta pentru deplasare

Mai intai avem nevoie sa organizam cateva elemente scenice, sa construim un clip pentru "podea", sa ii dam numele de instanta ground_mc, apoi desenam un om sau un alt element grafic care sa poata fi deplasat, il convertim intr-un clip animat, si ii dam numele de instanta man_mc.

Acum suntem gata sa realizam codul Action Script. Am scris descrierea intercalata intre randurile codului astfel ca tu sa il poti urmari si intelege mai bine (sper).

// Aceasta variabila controleaza viteza de mers pe orizontala
var speedX:Number = 10;
var speedY:Number = 4;
 
// o functie pe care o rulam cand flash deschide proiectul.
function startActionScript(){
    
    //cream un key listener ca sa putem atasa evenimente
    //de 'KeyDown' si 'KeyUp'
    var keyListener:Object = new Object();
    
    //atat timp cat este apasata o tasta, se executa urm. script
    keyListener.onKeyDown = function() {
        //functie care se executa la fiecare milisecunda cat timp
        //este apasata o tasta
        man_mc.onEnterFrame = function() {
            //daca s-a apasat tasta 'sageata Dreapta'; 
            //deplasare pe orizontala
            if (Key.isDown(Key.RIGHT)) {
                //daca suntem inca pe suprafata mesei, 
                //deplasam obiectul la dreapta
                var limitRight = ground_mc._x + ground_mc._width 
                                 - this._width
                if (this._x + speedX <= limitRight)
                    this._x += speedX;
            } 
            //daca s-a apasat tasta 'sageata Stanga'; 
            //deplasare pe orizontala
            else if (Key.isDown(Key.LEFT)) {
                //daca suntem inca pe suprafata mesei, 
                //deplasam obiectul la stanga
                var limitLeft = ground_mc._x;
                if (this._x - speedX >= limitLeft)
                    this._x -= speedX;
            }
            //daca s-a apasat tasta 'sageata Sus'; 
            //deplasare pe verticala
            else if (Key.isDown(Key.UP)){
                if (this._y - speedX > 0){
                    this._y -= speedX;
                }
                
            }
            //daca s-a apasat tasta 'sageata Jos'; 
            //deplasare pe verticala
            else if (Key.isDown(Key.DOWN)){
                if (this._y + speedX < ground_mc._y - this._height){
                    this._y += speedX;
                }
            }
        }
    }
    
    //dupa ce s-a dat drumul la tasta, se executa urm. script
    keyListener.onKeyUp = function() {
        //stergem functia 'onEnterFrame' a obiectului 'man_mc'
        delete man_mc["onEnterFrame"];
        
        //daca obiectul nostru nu se afla pe masa, este in aer
        if (man_mc._y  < ground_mc._y - man_mc._height){
            //functie care se executa la fiecare milisecunda cat timp
            //obiectul nu se afla pe suprafata mesei
            man_mc.onEnterFrame = function() {
                if (this._y  < ground_mc._y - this._height){
                    this._y +=speedY;
                }
                else{
                    this._y = ground_mc._y - this._height;
                    delete man_mc["onEnterFrame"];
                }
            }
        }
    }
    //atasam obiectul 'keyListener' clasei KEY
    Key.addListener(keyListener);
        
}
 
//pornim scriptul
startActionScript();

Testeaza-ti filmul flash: ar trebui sa obtii un om care merge pe podea. Acum, poti seta o instructiune "if" care sa dicteze ca daca omul calca in gol pe margine, moare.

Click in interior apoi foloseste tastele stanga-dreapta pentru deplasare

Pagina:
1
comenteaza printeaza
Alte tutoriale Adobe Flash:
Noteaza acest tutorial
Rating tutorial
 
(8 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (6) spune-ti parerea
sergyu , Sambata, 18 Iulie 2009
#6

Daniel....e posibil sa nu-ti mearga deoarece nu ai pus scriptul unde trebuia......incearca asta: da-i clic pe simbol......apasa f9 si copiaza acolo scriptul asta , e posibil sa-l fi pus pe frame....(sus)...incearca asta si dak e mai vb ;)

Raporteaza acest comentariu ca injurios!
E-learn.ro , Marti, 05 August 2008
#5

Partea de script a acestui tutorial a fost refacuta, totodata implementandu-se si optiunea 'deplasare sus, jos'. Puteti sa downloadati acum si sursa acestui tutorial. Va multumim pentru sugestii.

Raporteaza acest comentariu ca injurios!
Daniel , Duminica, 03 August 2008
#4

salut. mie Flashulmi-a dat urmatoarele erori :(


**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 12: A type identifier is expected after the ':'.
function start_():void {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 23: The class or interface 'KeyboardEvent' could not be loaded.
function pressKey(event:KeyboardEvent):void {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 41: The class or interface 'Event' could not be loaded.
function manMove(event:Event):void {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 56: The class or interface 'KeyboardEvent' could not be loaded.
function releaseKey(event:KeyboardEvent):void {

Total ActionScript Errors: 4 Reported Errors: 4

Raporteaza acest comentariu ca injurios!
John , Luni, 30 Iunie 2008
#3

Robert, in ce sens nu merge codul?
Ti-ai creat initial toate movie clipurile de care ai nevoie si apoi ai aplicat corect codul? sau ai copiat pur si simplu codul intr-un fla gol?

Raporteaza acest comentariu ca injurios!
robert , Duminica, 29 Iunie 2008
#2

codul nu merge .l-am incercat pe flash 8 si nu este bun .Vreau codul bun pe e-mail.

Raporteaza acest comentariu ca injurios!
Enq , Miercuri, 25 Iunie 2008
#1

Care este codul pentru deplasarea in sus si in jos? Multumesc anticipat.

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4430
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4320
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4280
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4125
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
JSON Word Excel Verilog Ruby on Rails Flash Sony Vegas RoR SEO StyleSheet XML XHTML Photoshop Swift 3D AJAX Illustrator Gimp Javascript Outlook Dreamweaver Fireworks Lightroom PHP Fotografie HTML PSD CSS Vista SWF MySQL Bridge Powerpoint Java Action Script COREL DRAW Python
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software