Autor Zpráva
milanmichal
Profil
Už jsem se naučil jak přeměnit kurzor, udělat lehkou animaci atd...... . Ale trápí mě, jak udělat jednodnoduše, aby se pomocí šipek můj objekt pohyboval. Našel jsem si pár tutoriálů , ale v něm byly zahrnuty i různé tachometry, měřiče úhlů a jiné akce, a proto jsem se to nechtěl celé učit . Potřeboval bych napsat jeduchou možnost, kterou bych se mohl naučit . Na místo políčka, kam se dosazuje tlačítko ovládání, třeba napište AAA nebo něco jiného . Děkuji všem ..........

— Moderátor (M): Počeštěn text (změny jako pohiby -> pohyby či mýsto -> místo). —
embee
Profil
//na scene mas ctverec pojmenovany "ctverec"
this.ctverec.onEnterFrame = function():void {

if(Key.isDown(Key.RIGHT)){
this._x += 5;
}

if(Key.isDown(Key.LEFT)){
this._x -= 5;
}

if(Key.isDown(Key.UP)){
this._y -= 5;
}

if(Key.isDown(Key.DOWN)){
this._y += 5;
}

}

mozna by to slo i lepe, ale nechce se mi nad tim premyslet. Jo a za uplnou spravnost nerucim, netestoval jsem to, ale melo by to fungovat :)
milanmichal
Profil
Ok díky moc , to by stačilo
milanmichal
Profil
No popsal jsem to dobře čtverec je na scéně , ale píše to tuto chibu:

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

Total ActionScript Errors: 1 Reported Errors: 1
DoubleThink
Profil *
this.ctverec.onEnterFrame
Docela prasárna. Je lepší použít Key listener.
FlashManiac
Profil
milanmichal
void je spatne.. musi byt Void
embee se uklikl
milanmichal
Profil
Sry ale trochu jsem nepochopil co mám přepsat , mohl by si mě tu ještě prosím vložit celej ten upravenej script ? Děkuji
Edit: A má mudělat buton move clip grafic ?
milanmichal
Profil
void je spatne.. musi byt Void
embee se uklikl
Aha dík skusím

Edit: Píše mi to :

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on/onClipEvent handler
this.ctverec.onEnterFrame = function():Void {

Total ActionScript Errors: 1 Reported Errors: 1
embee
Profil
milanmichal
ma ten ctverec instance name ctverec? mne to funguje (copy-paste odsud s orpavenym Void).

FlashManiac
jou diky, uz jsem zmatenej z AS3, tam se to pise s malym :D nechapu proc, kdyz vsechny ostatni navratovy typy se pisou s velkym :D

DoubleThink
nerekl bych, protoze keyEvents jsou vysilane klavesami a sam moc dobre vis, ze kdyz zmacknes a drzis klavesu, dostanes jeden event, pak chvilku nic a pak se zacne teprve opakovat. Takze ten pohyb je pak dost takovy... neplynuly. Navic vychytat keyboardEvent tak, aby fungovaly je docela slozite, je tam problem s focusem atp.
milanmichal
Profil
milanmichal
ma ten ctverec instance name ctverec? mne to funguje (copy-paste odsud s orpavenym Void).

Promiň já jsem neuměl pojemnovat čtverec , myslel jsem si že jen udělám oběkt jakoby move clip s názvem ctverec :D až Doxik mě to naučíl a teď už to jde . Tak fakt promiň a dík ;-)
Art
Profil *
Spravne, onEnterFrame se na animace pomoci AS pouziva prave kuli plynulosti.
Zoffer
Profil *
vytvoř movie clip a dej mu action tohle



onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
if (Math.abs(speed)>=0.2 & Math.abs(speed)<=1) {
_rotation -= 1;
} else if (Math.abs(speed)>1 & Math.abs(speed)<=2) {
_rotation -= 2;
} else if (Math.abs(speed)>2 & Math.abs(speed)<=3) {
_rotation -= 3;
} else if (Math.abs(speed)>3) {
_rotation -= 6;
}
}

if (Key.isDown(Key.RIGHT)) {
if (Math.abs(speed)>=0.2 & Math.abs(speed)<=1) {
_rotation += 1;
} else if (Math.abs(speed)>1 & Math.abs(speed)<=2) {
_rotation += 2;
} else if (Math.abs(speed)>2 & Math.abs(speed)<=3) {
_rotation += 3;
} else if (Math.abs(speed)>3) {
_rotation += 8;
}
}
if (Key.isDown(Key.UP) & speed<20) {
speed += 1;
} else if (Key.isDown(Key.DOWN) & speed>-10) {
speed -= 1;
} else {

if (speed>0.5) {
speed -= 0.3;
} else if (speed<-0.5) {
speed += 1;
} else {
speed = 0;
}
}
xmove = Math.cos((_rotation-90)*(Math.PI/180))*speed;
ymove = Math.sin((_rotation-90)*(Math.PI/180))*speed;





TO je vše
Zoffer
Profil *
vytvoř movie clip a dej mu action tohle



onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
if (Math.abs(speed)>=0.2 & Math.abs(speed)<=1) {
_rotation -= 1;
} else if (Math.abs(speed)>1 & Math.abs(speed)<=2) {
_rotation -= 2;
} else if (Math.abs(speed)>2 & Math.abs(speed)<=3) {
_rotation -= 3;
} else if (Math.abs(speed)>3) {
_rotation -= 6;
}
}

if (Key.isDown(Key.RIGHT)) {
if (Math.abs(speed)>=0.2 & Math.abs(speed)<=1) {
_rotation += 1;
} else if (Math.abs(speed)>1 & Math.abs(speed)<=2) {
_rotation += 2;
} else if (Math.abs(speed)>2 & Math.abs(speed)<=3) {
_rotation += 3;
} else if (Math.abs(speed)>3) {
_rotation += 8;
}
}
if (Key.isDown(Key.UP) & speed<20) {
speed += 1;
} else if (Key.isDown(Key.DOWN) & speed>-10) {
speed -= 1;
} else {

if (speed>0.5) {
speed -= 0.3;
} else if (speed<-0.5) {
speed += 1;
} else {
speed = 0;
}
}
xmove = Math.cos((_rotation-90)*(Math.PI/180))*speed;
ymove = Math.sin((_rotation-90)*(Math.PI/180))*speed;





TO je vše
MichMond
Profil *
Mslím že chtěl nějaké lehké pohiby které nezahrnují PI.
Podle mě je nejlehčí asi tohle:
onEnterFrame = function() {

if (Key.isDown(Key.UP)) {
_root.hrac._y-=2
}
}

Pak naklonuj ty podmínky aby byli 4 a změn to UP a to ubírání souřadnice y podle situace ;-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: