re: Suszi
Koszi szepen a segisegedet de van egy kis hibam vele:
1120: Access of undefined property e. if(e.currentTarget.name == "homepage")
Ezt adja hibakent a fordito......
Azert koszi:)
re: Suszi
Koszi szepen a segisegedet de van egy kis hibam vele:
1120: Access of undefined property e. if(e.currentTarget.name == "homepage")
Ezt adja hibakent a fordito......
Azert koszi:)
re: eldo
if(e.currentTarget.name == "homepage"){ kód } else { másik kód }
re: balta
Hat en is ezen gondolkodtam csak epp az a baj hogy nem tudom hogy irjam meg a feltetelt.
en igy csinaltam de nem megy:
if(btn.name == "homepage")
gotoAndPlay("start")
re: Zsofi
ezt ennyibol nehez megmondani..
re: eldo
Dobj bele meg egy feltetelt.Ha a gomb neve==homepage akkor ez tortenik,ha nem (az az az osszes tobbi lehetoseg),akor mas. A label-ek mar ott vannak a tomben szoval nem lesz nehez.
Sziasztok!
Maskepp probalkozom tovabb az oldallal. A gombok most igy vannak deffinialva:
fm_button.visible = false; var menu_label:Array = new Array("homepage", "gallery", "investment", "photo boot", "contact", "my blog|http:xxxxxxxxxxxxxxxxxxx/"); var total:Number = menu_label.length; var i:Number = 0; var page:Number; var main_menu:MovieClip = new MovieClip(); stage.addChild(main_menu); for( i = 0; i < total; i++ ) { var btn = new flashmo_button(); btn.name = "btn" + i; btn.x = fm_button.x + 100 * i; btn.y = fm_button.y; btn.item_no = i; btn.addEventListener( Event.ENTER_FRAME, btn_enter ); var each_substring:Array = menu_label[i].split("|"); btn.flashmo_button_label.fm_label.text = each_substring[0]; btn.button_label_reflection.fm_label.text = each_substring[0]; btn.item_url = each_substring[1]; main_menu.addChild(btn); } function btn_over(e:MouseEvent):void { e.target.over = true; } function btn_out(e:MouseEvent):void { e.target.over = false; } function btn_click(e:MouseEvent):void { var mc = e.target.parent; if( mc.item_url != undefined ) navigateToURL( new URLRequest( mc.item_url ), "_parent" ); else change_page(mc.item_no); } function btn_enter(e:Event):void { var mc = e.target; if( mc.over == true ) mc.nextFrame(); else mc.prevFrame(); } function change_page(no:Number):void { for( var i:Number = 0; i < main_menu.numChildren; i++ ) { var mc = MovieClip( main_menu.getChildAt(i) ); mc.over = false; mc.flashmo_click_area.visible = true; mc.addEventListener( MouseEvent.ROLL_OVER, btn_over ); mc.addEventListener( MouseEvent.ROLL_OUT, btn_out ); mc.addEventListener( MouseEvent.CLICK, btn_click ); } var mc_selected = MovieClip( main_menu.getChildAt(no) ); mc_selected.over = true; mc_selected.flashmo_click_area.visible = false; mc_selected.removeEventListener( MouseEvent.ROLL_OVER, btn_over ); mc_selected.removeEventListener( MouseEvent.ROLL_OUT, btn_out ); mc_selected.removeEventListener( MouseEvent.CLICK, btn_click ); page = no + 1; play(); } change_page(0); // default page on load
Hogyan tudom azt megcsinalni ezzel a koddal ha rakattintok a "homepage" gombra akkor ugorjon a megadott cimkere ("start")Vagyiis visszaugrik ezzel nincs gond csak az van hogy van egy UIloaderem amibe kepek toltodnek be es az csak a homepage oldalon kellene menjen csak. En azt szertnem ha rakattintok a homepage-ra ugorjon a megadott cimkemre ne egy meghatarozott page-re es a tobbi gombnal ne latszodjon az UIloader
az animációhoz hasonlóan itt is: az oldalon insert keyframe, ezen készítettem mc-t, beleléptem, oda importáltam a galériám swf-jét, ill. bemásoltam a galéria minden layerét, vissza a scenere, ctrl+enter és nem csinál semmit...hm? (először nem is imporálta, mert nem mentem a mc-be)
Á, most látom, nem jó helyen vagyok, AS2ben csinálom
re: Zsofi
Es miert nem tudod, hogyan probalkozol?
Köszönöm a gyors választ, most pedig egy galériát szeretnék beilleszteni egy honlap egyik oldalába, de a galéria swf-jét nem tudom sem behúzni sem importálni az oldal könyvtárába.előre is kösz a segítséget!
re: tenegri
Ohh basszus, ez mondjuk magamtól is eszembe juthatott volna. :D Köszönöm szépen.
re: aaatom
Közvetlenül ezt így nem fogod tudni lekérdezni, de amúgy elég egyszerűen utána lehet járni: van a ComboBoxnak egy dropdown tulajdonsága, ami a lenyíló listára (List objektum) mutat. Lenyitod a ComboBox listáját (open() metódus) és megnézed a dropdown y pozícióját, összeveted a ComboBox-éval (a színpad koordinátarendszerében számolva, mert nem ugyanaz a szülőjük) - ebből kiderül felül van-e vagy alul.
re: aaatom
Nem tudok konkret fuggvenyrol, ami visszaadna ezt az erteket, de nyilvan kiszamolhato, hiszen maga a kombobox komponens is maga szamolja ki, hogy merre kell, hogy nyiljon.
Egyszeruen csak tudnod kell a komponens helyzetet, az itemek meretet es darabszamat, konnyen kiszamolhato ezekbol, hogy merre van hely a kinyilashoz.
Sziasztok!
ComboBox komponensnél kideríthető valahogy, hogy merre nyílik a menü? Mert ugye nem evidens, hogy lefele, mert ha alatta nincs elegendő hely, és ezzel együtt felette több hely van, akkor felfelé nyitja ki, ami jó dolog, csak nekem tudnom kéne, hogy mikor melyik irányban nyílik ki. :)
Előre is köszönöm a válaszokat!
re: Zsofi
Tedd az animaciot egy MovieClip-be, amit mar felhasznalhatsz egy frame-n.
Sziasztok, egy kis segítségre van szükségem, szeretnék animációt beilleszteni egy keyframe-be.
re: Zerge
én még soha nem használtam komponenseket (max radio button-t, és azt is csak tesztelésnél, ha kellett gyorsan valami :D) szóval abban nem tudok segíteni.
én mindig magamnak készítem el a szövegdobozt, és a scroll-t is. nem bonyolult, a szövegdobozhoz kell egy textfield, és egy sprite (maszknak), és a textfield-et mozgatod a scroll változásánál. a scroll-hoz pedig kell egy felfele gomb, lefele gomb, egy csúszka, és esetleg egy eventlistener a görgetéshez. az egyszerűség kedvéért pedig a csúszka pozíciójához viszonyítom a textfield pozícióját, tehát ha változik, akkor mozgatja a szöveget. a csúszkát mozgatni vagy drag-el lehet, vagy a fel-le gomb nyomására, esetleg görgetésre egy adott értékkel változtatom.
remélem nem írtam le túl bonyolultan :D
re: eldo
hidd el, nem sokkal bonyolultabb oop-ben programozni ;) az alap ugyanaz, csak az osztályok létrehozásához kell egy plusz struktúrát megtanulnod. én az elején simán használtam anélkül, hogy pontosan értettem volna mire is jó ez :D aztán szép lassan megértettem teljesen. a legnehezebb számomra az öröklés volt (nem a fogalom, hanem, hogy mikor, mire érdemes használni) mondjuk igaz, hogy amikor c++-os progikat írtam, akkor esett le a tantusz a származtatott osztályokkal kapcsolatban, és aztán az éppen készülő oldalban is már láttam hol lehet, érdemes örököltetni.
de a lényeg, hogy érdemes elkezdened osztályokat használni, annyira nem bonyolult, mint elsőre látszik, és nagyon hasznos tud lenni (nekem pl elég szépen strukturálja a gondolkodásomat is. teljesen máshogy készítek ma már egy oldalt, mint előtte). könnyebben tudsz módosítani fejleszteni részeket (osztályokat), hibát javítani...
és mivel egyszer úgyis el kell kezdeni oop-ben programozni, szerintem érdemes hamarabb elkezdeni ;)
Sziasztok!
Olyan problémám lenne, hogy próbálok scrollozható dynamic textfield-et csinálni. Úgy csinálom, ahogy írják a neten: az UIScrollBar komponenst rádobom a dinamikus szövegmezőre, az rögtön tudja, hogy hozzá tartozik. Mindez működik is level0-n, de amikor ugyanezt mc-ben akarom, akkor a scroll nem működik, nincsenek rajta se nyilak, se csuszka, csak a tetején és az alján egy-egy négyzet (a nyilak helyén), meg az egész háttere. Kijelöltem az mc-ben a textfield-et meg a scrollbar-t, copy-paste-tel egy teljesen új flash-be tettem, ott simán működött (ugyanazzal a texttel). Egyébként a szöveget beolvassa simán, csak nem scrollozik. Tud valaki megoldást? Több helyen láttam ezt a problémát feltűnni a neten, de megoldást nem találtam hozzá. Köszi előre is!
re: eldo
http://www.oxophotography.com/george/index2.php?v=v1
Ezt szeretnem megcsinalni csak nemi valtoztatassal de lenyegeben ez lenne! (Almodik a .....:) )
re: Germo
Koszi Germo mar megint nagy vagy:D CSak sajna az a baj ez nekjem meg egy kicsit magas....Az meg oke hogy amit irtal azt gondolom egy .as file-ba kene elmentenem de hogy hogy tudom en ezt meghivni meg hogyan csinaljak base class-ot meg az egesz mozinak? Meg hol hivjam meg a Stage fo idovanalan belul ezeket a file-okat? Nagyra ertekelem a segitsegeteket komolyan mar igy is sokat segitettetek, de meg csak most kezdtem el olvasni egy 900 oldalas AS3-konyvet es meg sok uj dolog van foleg hogy en nem is nagyon hasznaltam eddig package dolgokat csak az idovonalon programozgattam eddig, ha eler ide akkor ugorjon oda , ha lenyomo azt csinalja ezt stb... Egyszeru dolgokat de latom amit most szeretnek ahoz magasabb szintu tudas kene. Koszi megegyszer a segitsegeteket.
re: eldo
Könnyebben megy a dolog, ha csinálsz egy valamilyen Button class-t amiben megcsinálod a gomb vizuális változását.
package { import flash.display.* import flash.events.* public dynamic class ButtonFilter extends MovieClip { private var filtersStore:Array public function ButtonFilter(){ buttonMode = true useHandCursor = true filtersStore = filters filters = [] addEventListener(MouseEvent.MOUSE_OVER,onOver) addEventListener(MouseEvent.MOUSE_OUT,onOut) addEventListener(MouseEvent.MOUSE_UP,onOver) addEventListener(MouseEvent.MOUSE_DOWN,onDown) } public function onOver(e:MouseEvent){ filters = filtersStore } public function onOut(e:MouseEvent){ filters = [] } public function onDown(e:MouseEvent){ filters = [] } }}
Például egy ilyet. A Libraryban megadod base class-nak a ButtonFilter-t A vizuális megoldás itt rém egyszerű az mc-re ráraksz 1 filtert azt fogja ki be kapcsolni. Gyakran ez totál elég.
Utána az egész mozinak csinálsz egy base Class-ot.
Abban pedig felveszel egy általános gomb figyelést egy helyen. Ja még érdemes a gombnak egyedi nevet adni, mert úgy könnyű lekezelni.
package { import flash.display.* import flash.events.* public class EgyszeruBaseClass extends MovieClip { public function EgyszeruBaseClass(){ addEventListener(Event.ADDED_TO_STAGE,addedToStage) } public function addedToStage(e:Event){ removeEventListener(Event.ADDED_TO_STAGE,addedToStage) addEventListener(MouseEvent.CLICK,solveButtons) // innen indulhat a program } private function solveButtons(e:MouseEvent){ //trace(e.target.name) switch(e.target.name){ case "gombVissza": vissza() ;break case "gombMasik": masik() ;break } } private function vissza(e:MouseEvent){ } private function masik(e:MouseEvent){ } }}
re: eldo
Próbáld meg úgy, hogy a gombok már az első frame-től kezdve kint legyenek, és ott add hozzájuk a figyelőket, illetve próbáld meg azt, hogy a gombon belül a jelenlegi legfelső frame fölé beraksz egy akkora 0 alpha-s moveiclip-et, amekkora a gombod, és ahhoz rendeld hozzá a figyelőt.
re: Suszi
Nallam a 40. frame-ben vannak deffinialva a gombok:
home_bt.addEventListener(MouseEvent.CLICK, clickPage);
investment_bt.addEventListener(MouseEvent.CLICK, clickPage);
gallery_bt.addEventListener(MouseEvent.CLICK, clickPage);
contact_bt.addEventListener(MouseEvent.CLICK, clickPage);
photoboot_bt.addEventListener(MouseEvent.CLICK, clickPage);
function clickPage(clickEvent:MouseEvent)
{
gotoAndStop(clickEvent.target.name);
}
A gombok mar a 2. frame-be be vannak teve, de csak itt a 40.-be deffinialom mert a 41,47,52,58 kene ugranom. AZ erdekes az ha csak 1 gombot hagyok meg akkor az oda ugrik ahova szeretnem ,de ha mar 2 van akkor hiba van mar. Az enm gomjaimba sok mc van hogy latvanyosabb legyen, de ha csak sima gombot hasznalok
akkor nincs vele gond mert csinalja amit szeretnek. Beleront az mc a gombokban az egesz Stage iranyitasaba?
Bocs hogy ilyen hulye vagyok de meg nem nagyon ertek a programozasahoz. De koszonom szepen a segitseget:)
re: eldo
És hol írod be azt, hogy gotoAndStop(41)? Mert, ha a gombra írod rá, akkor azért nem lesz jó, mert az a gombon belüli 41. frame-re akar ugrani. Ha a gomb a stage-hez van hozzáadva, akkor próbáld meg így:
parent.gotoAndStop(41);
A lényeg az, hogy a gotoAndStop-ot a stage-hez kell rendelni, és akkor a stage-en fog a megadott helyre ugrani.
re: balta
Megadott helyre a fo idovonalon. A menupontoknak van kb 10 frame fenttartva es utanna jon a kovetkezo 10 frammel es az azutani stb.HIaba irom be a frame pointos helyet gotoandstop(41) vahy beirom a nevet
gotoandstop("gallery") allandoan hibat ir ki.
Zárolt topik, további üzenetek írása nem lehetséges.