Actionscript 3.0 Tutorials By wonerboy, by wonderboy |
|
|
გამარჯობა, სტუმარო ( შესვლა | რეგისტრაცია )
Actionscript 3.0 Tutorials By wonerboy, by wonderboy |
Oct 26 2009, 06:08 PM
პოსტი
#1
|
|
ახალბედა ჯგუფი: რეგისტრირებული პოსტები: 2 ნიკის ჩასმა ციტატაში ჩასმა წევრი №: 8.977 |
ტუტორიალი #1
როგორ მივანიჭოთ ღილაკის ფუნქცია Button Symbol ს actionscript ში ვწერთ CODE MyButton.addEventListener(MouseEvent.CLICK, MyFunction); // MyButton არის ღილაკის სახელი... MyFunction კი ფუნქციის სახელი რომელიც უნდა შესრულდეს... function MyFunction(event:MouseEvent):void { კოდი რომელიც შესრულდება ღილაკზე დაჭერისას... } MouseEvent.CLICK შეიძლება შეიცვალოს MouseEvent.MOUSE_OVER MouseEvent.MOUSE_OUT და სხვა... ტუტორიალი #2 ღილაკზე ბმულის მიბმა ტუტორიალი #1 იდან გამომდინარე ღილაკზე დაჭერისას შეიძლება გადავიდეს რამე საიტზე... ამისათვის MyFunction ს უნდა მივანიჭოთ შემდეგი: CODE function MyFunction(event:MouseEvent):void { var targetURL:URLRequest = new URLRequest("http://hacking.ge/"); navigateToURL(targetURL); } ტუტორიალი #3 დროის :259160: სკალასთან :259160: ანუ Timeline სთან მუშაობა, გვაქვს რამდენიმე ფუნქცია რისი გამოყენებაც შეგვიძლია Timeline ს სამართავად Actionscript 3.0 ით. ესენია: play(); - დაიწყებს, ან გააგრძელებს ანიმაციის ჩვენებას (გააჩნიე რომელი კიფრეიმში ჩასვავ) stop(); - შეაჩერებს ანიმაციის ჩვენებას. gotoAndPlay(); - აქ ფრჩხილებშორის იწერება იმ keyframe-ს ნომერი ან სახელი, რომლიდანაც გინდათ რომ დაიწყოს ან გააგრძელოს ანიმაციის ჩვენება. gotoAndStop(); - აქ ფრჩხილებშორის იწერება იმ keyframe-ს ნომერი ან სახელი, რომელზეც გინდათ რომ გადახტეს და შეჩერდეს ანიმაციის ჩვენება. ასევე შეიძლება Scene დან სხვა სიმბოლოების მართვა, მაგ.: MySymbol.play(); ხო... თუ რამე კითხვები გაგიჩნდათ აქ ვარ (IMG:style_emoticons/default/smile.gif) ტუტორიალი #4 მუშაობა ტექსტთან შეგვიძლია ტექსტურ ფენას ტექსტი მივანიჭოთ Actionscript ის დახმარებით... ამისათვის ახალ ფენაზე ვხსნით დინამიურ ტექსტს, ვარქმევთ სახელს და შემდეგ Actionscript-ში ვწერთ: CODE function teqstistvis() { var teqsti:String; // ამითი teqsti ს მივანიჭეთ სტრინგი, ანუ მას შეუძლია შეინახოს ტექსტი. teqsti = "Hello World!"; // ამით ვანიჭებთ ტექსტს, აუცილებელია ტექსტი ჩაჯდეს ბრჭყალებში, როგორც ეს სხვა პროგრამირების ენებშია return teqsti; // გამოვითანეთ შედეგი } TeqstisSaxeli.text = teqstistvis(); ეს გამოგვადგება მომავალში HTML და XML ფაილებიდან ტექსტის იმპორტირებაში ტუტორიალი #5 კომენტარები ერთხაზიანი კომენტარის დასაწერად საჭიროა ორი ხაზის ჩამოსმა პროგრამული კოდი // კომენტარი კომენტარი კომენტარი :) მრავალხაზიანი კომენტარის დასაწერად საჭიროა დახრილი ხაზისა და ფიფქის გამოყენება პროგრამული კოდი // კომენტარი კომენტარი კომენტარი :) ტუტორიალი #6 ცვლადების აღწერა ცვლადის აღწერა ხდება var ით. მაგალითად. CODE var xakingge; ანუ ცვლადის აღწერისას ვწერთ var-ს შემდეგ ცვლადის სახელს და [წერტილმძიმეს] ხოლო თუ იქვე გვინდა მივუთითოთ ცვლადის მონაცემთა ტიპი მაშინ ვწერთ შემდეგნაირად: CODE var xakingge:int; ამ შემთხვევაში ცვლადს xakingge მივანიჭეთ ტიპი integer - მთელი რიცხვი. კიდევ შეგვიძლია იქვე მივანიჭოთ მნიშვნელობა ამ ცვლადს (IMG:style_emoticons/default/smile.gif) CODE var xakingge:int = 7493; ან შეგვიძლია მივუთითოთ ცალკე CODE var xakingge:int; xakingge = 7493; ასევე შეგვიძლია ერთ ხაზზე აღვწეროთ რამდენიმე ცვლადი CODE var a:int, b:Array, c:String; // ან იქვე მივანიჭოთ მნიშვნელობებიც var a:int = 10, b:Array = ["xakingi", "frikingi", "isingiraqvia"], c:String = "rogoraxaaaaar"; ტუტორიალი #7 მონაცემთა ტიპების მნიშვნელობები Boolean - ის მონაცემთა ტიპია, რომელსაც შეიძლება მხოლოდ ორი მნიშვნელობა მიენიჭოს, ესენია true და false. int - integer - მთელი როცხვი, რომელსაც შეუძლია შეინახოს 32 ბიტიანი რიცხვი -2,147,483,648 (-231) დან 2,147,483,647 (231 - 1) ის ჩათვლით. მასზე დიდი მონაცემის დატევა შეუძლია Number მონაცემთა ტიპს Null - ამ ტიპს შეიძლება მივანიჭოთ მხოლოდ ერთი მნიშვნელობა, Null. Number - ეს მონაცემთა ტიპი გამოიყენება იმ შემთხვევაში, თუ integer - ის მონაცემები არ გაკმაყოფილებთ. Number - ს შეუძლია დაიტიოს 53 ბიტიანი მონაცემი. -9,007,199,254,740,992 (-253) დან 9,007,199,254,740,992 (253) მდე. String - არის მონაცემთა ტიპი, რომელსაც შეუძლია შეინახოს ტექსტობრივი მონაცემი უნიკოდში UTF-16 uint - არის მონაცემთა ტიპი რომელიც იდენტურია integer-ისა, არის 32 ბიტიანი და იტევს 0 იდან 4,294,967,295 (232 - 1) მდე. void - ვანიჭებთ ისეთ ცვლადს რომლის ტიპიც გაურკვეველია. მისი დაწერა ასევე შეიძლება როგორც * ტუტორიალი #8 სინტაქსი 1. Actionscript 3.0 "პატარა" და დიდ ლათინურ ასოებს არჩევს და აღიქვავს როგორც სხვადასხვა სიმბოლო. ვთქვათ: CODE var Xaker; var xaker; იქნება სხვადასხვა ცვლადი. მისი Case Sensitivity გამოიხატება ბრძანებებშიც, იგი ზოგ ბრძანებას არ იღებს, თუ მასში არ ურევია დიდი ასოები. მაგალითად: CODE addEventListener და არა addeventlistener 2. [dot] ანუ წერტილი . ენაში Actionscript გვაძლევს საშუალებას დავუკავშირდეთ ობიექტის სხვადასხვა მონაცემებს და შევცვალოთ ისინი. მაგალითად: CODE MyObj.X = 350; ეს კოდი, ფლეშის სამუშაო დაფაზე გამოტანილ ობიექტს, სახელად MyObj მიანიჭებს სიგრძეს 350px. ანუ X არის ობიექტის სიგანის მონაცემი. შესაბამისად Y არის სიგრძის მონაცემი. 3. ლიტერალები ანუ რა სახის მნიშვნელობები შეგვიძლია მივანიჭოთ ცვლადებს ან სხვა მონაცემს პრაქტიკულად: CODE 17 "hello" -3 9.4 null undefined true false 4. წერტილმძიმე წერტილმძიმე[semicolon] ; გამოიყენება რაიმე ბრძანების დასრულების შემდეგ. ვთქვათ ჩვენ დავარსულეთ ცვლადების მინიჭება, სხვა ბრძანების შესასრულებლად ჩვენ უნდა დავხუროთ წინა ბრძანება, სწორედ ანაში გამოიყენება წერტილმძიმე; 5. ( ფრჩხილები) ფრჩხილები Actionscript-ში გამოიყენება 3 გზით. 1. გამოიყენება ისევე როგორც არითმეტიკული მოქმედებების შესრულების დროს. ანუ პრინციპია იგივე. ჯერ ის მოქმედება სრულდება რომელიც ფრჩხილებშია და შემდეგ დანარჩენი. ვთქვათ: CODE var xaka:int = 5*(11-1); ანუ ამ შემთხვევაში ჯერ 11-ს აკლდება 1 და შემდეგ მრავლდება ხუთზე და უდრის 50 ს. ხოლო ფრჩხილების გარეშე გამოვიდოდა ასე CODE var xakeeeer:int = 5*11-1; ამ შემთხვევაში ჯერ 5 მრავლდება 11 ზე და შემდეგ აკლდება 1 და გამოდის 54. 2. ფრჩხილების გამოყენება შეიძლება მძიმესთან ერთად, რომ რამდენიმე მოქმედება ჩავატიოთ ერთ ხაზზე. ვთქვათ ასე: CODE var zura:int = 5; var nana:int = 3; var natela:int; natela = (zura++, nana++, zura+nana); // 10 ანუ რას მოვითხოვ ეხა მე ამ კოდით. პირველი ბრძანებაა რომ ზურა გაიზარდოს ერთით. ანუ ++ ნიშნავს ერთით გაზრდას. მეორე ბრძანებაა რომ ნანა გაიზარდოს ერთით, ხოლო მესამე ბრძანებაა რომ ისინი შეიკრიბონ(და ერთი მაგრად დათვრნენ). და საბოლოოდ გამოვიდა ასთე (5+1)+(3+1)=10 ოღონდ უფრო ცივილური ფორმებით. (IMG:style_emoticons/default/smile.gif) 3. მესამე გამაყენების საშვალებაა მაშინ თუ გვინდა რომ სხვადასხვა ფუნქციასა თუ ოპერაციას ჩავუდოთ რამე თავში. მაგალითად: CODE trace("hello"); if(zura<gela) ანუ ტიპურად როგორც ყველგან ხდება ხოლმე(IMG:style_emoticons/default/smile.gif) ყველა ენაში. 6. ისეთი სიტყვები რისი გამოყენებაც არ შეგვიძლია ცვლადად და ა.შ. ანუ ისენი რაც უკვე გამოყენებულია სამწუხაროდ უკვე Actionscript ში სხვადასხვა ბრძანებებად. ეს სიტყვებია: CODE as break case catch class const continue default delete do else extends false finally for function if implements import in instanceof interface internal is native new null package private protected public return super switch this throw to true try typeof use var void while with ანუ მაგალითად ეს კოდი შეცდომას ამოაგდებს კომპილაციის დროს: CODE var break; ასევე არის რაღაც სიტყვები რისი გამოყენებაც შეიძლება, მაგრამ უნდა ვიცოდეთ რომ მას აქვს ისეთი მნიშვნელობები რამაც შეიძლება პრობლემები შეგიქმნათ მუშაობისას, ასე რომ მისი გამოყენება მხოლოდ დანიშნულების ცოდნის შემთხვევაში არის რეკომენდებული. CODE each get set namespace include dynamic final native override static ასევე არის ისეთი სიტყვები რისი გამოყენებაც შეგიძლიათ, მაგრამ ის შეიძლება დაემთხვეს რამე ქვე ბიბლიოთეკას, ასე რომ რეკომენდებულია არ გამოიყენოთ ისინი: CODE abstract boolean byte cast char debugger double enum export float goto intrinsic long prototype short synchronized throws to transient type virtual volatile 7. მუდმივები Actionscript ში შეიძლება აღვწეროთ ცვლადი ისე, რომ მისი მნიშვნელობის მინიჭება მხოლოდ ერთხელ შეიძლებოდეს, ამისათვის var ის მაგივრად ვიყენებთ const ს. [constant - მუდმივი სიდიდე] მაგალითად: CODE const Xakingiea:int = 50; ვსო Xakingiea ვეღარ შეიცვლება, მას მინიჭებული აქვს 50. ვოო ვამ აქშენსკრიპტის სინტაქსი ძამა. ჰუჰ დავიღალე. (IMG:style_emoticons/default/smile.gif) ტუტორიალი #9 ოპერატორები ძირითადი ოპერატორები [] - გამოიყენება Array ტიპის მონაცემების ასაღწერად. {x:y} - აღწერს Object ტიპის მონაცემებს. () - აჯგუფებს მონაცემებს f(x) - იძახებს ფუნქციას new - იძახებს კონსტრუქტორს x.y x[y] - უკავშირდება მონაცემებს <></> - მუშაობს XML ტიპის ფაილებთან (E4X) @ - უკავშირდება ატრიბუტებს (E4X) :: - აძლევს სახელს (E4X) .. - უკავშირდება XML-ის "შთამომავალ" ელემენტებს(E4X) Postfix(არვიცი ქართულად :-j ) ოპერატორები ++ - გაზრდა 1 ერთეულით -- - დაპატარავება ერთი ერთეულით Unary ოპერატორები ++ - გაზრდა 1 ერთეულით -- - დაპატარავება 1 ერთეულით + - მიმატება - - გამოკლება ! - Logical NOT ~ - Bitwise NOT delete - შლის მონაცემს typeof - მონაცემის ინფორმაციის გაგება void - აგდებს აღუწერელ მონაცემს * - გამრავლება / - გაყოფა > - მეტია ვიდრე < - ნაკლებია ვიდრე <= - ნაკლებია ან ტოლია >= - მეტია ან ტოლია as და is - ამოწმებს მონაცემის ტიპს in - ამოწმებს ობიექტის მონაცემს instanceof - ამოწმებს პროტოტიპის ჯაჭვს == - უდრის != - არ უდრის === - იმენნოი უდრის !=== - იმენნო არ უდრის & - და ოპერატორი(AND) ^ - გამორიცხვის ოპერატორი(XOR) | - ან ოპერატორი(OR) && - ლოგიკური AND ოპერატორი || - ლოგიკური OR ოპერატორი ?: - პირობითი კავშირის ოპერატორი = - მინიჭება *= - მრავლობითი მინიჭება /= - გაყოფითი მინიჭება :-j რავი რეებს ვწერ ჩემი (IMG:style_emoticons/default/biggrin.gif) %= - არ ვიცი ქართული ტერმინოლოგია (modulo assignment) += - პლუს მინიჭება -= - მინუს მინიჭება ვსო დაიწყო ყველასთვის საყვარელი რაღაც რუღაცეები ანუ აღარ მოსაწყენი რამეები (IMG:style_emoticons/default/smile.gif) ტუტორიალი #10 პირობითი კავშირები if..else პირობითი კავშირი გაძლევთ იმის საშუალებას, თქვენს მიერ მიცემული კოდის შესაბამისად გაუშვას სხვადასხვა კოდი execute ზე: მაგალითი: CODE var x:int = 33; if (x > 20) { trace("x მეტია 20 ზე"); } else { trace("x ნაკლებია 20 ზე"); } ასევე თუ გინდათ რომ კოდის სამი ვარიანტი გქონდეთ ან მეტი, მაგალითად x ან უდრიდეს ან ნაკლები იყოს და ან კიდევ ტოლი, მაშინ ვწერთ ასე. CODE var x:int = 33; if (x > 20) { trace("x მეტია 20 ზე"); } else if(x=20) { trace("x უდრის 20ს"); } else { trace("x ნაკლებია 20 ზე"); } და ასე რამდენ else if საც გვინდა იმდენს ჩავამატებთ შუაში (IMG:style_emoticons/default/tongue.gif) ხო კეთილმა ბიძიებმა კიდე გაგვიკეთეს switch, იმისათვის რომ არ მოვმკვდარიყავით if else ს წერით. შემდეგი კოდი ამოაგდებს დღის სახელს, მისივე ნომრის მიხედვით CODE var tarigi:Date = new Date(); var dgisnomeri:uint = tarigi.getDay(); switch(dgisnomeri) { case 0: trace("კვირა"); break; case 1: trace("ორშაბათი"); break; case 2: trace("სამშაბათი"); break; case 3: trace("ოთხშაბათი"); break; case 4: trace("ხუთშაბათი"); break; case 5: trace("პარასკევი"); break; case 6: trace("შაბათი"); break; default: trace("ჰა? ანუ არცერთს თუ არ დაემთხვა ამ კოდს გაუშშვებს."); break; } -------------------- ზარზმა
|
|
|
Jan 12 2010, 06:33 PM
პოსტი
#2
|
|
ახალბედა ჯგუფი: რეგისტრირებული პოსტები: 2 ნიკის ჩასმა ციტატაში ჩასმა წევრი №: 9.227 |
wonderboy
ბრავო, მაგარი ინფოა (IMG:style_emoticons/default/smile.gif) ისე ნიკის და ციტატის ჩასმის ღილაკებიზე ხომ არავის გიჩალიჩიათ იპბ 3 -ზე?! |
|
|
Jan 12 2010, 06:41 PM
პოსტი
#3
|
|
I do it from behind... ჯგუფი: გლობალ მოდერი პოსტები: 4.283 ნიკის ჩასმა ციტატაში ჩასმა წევრი №: 44 |
wonderboy
გმადლობ (IMG:style_emoticons/default/smile.gif) ახლა ვიწყებ ფლეშის სამყაროში გარკვევას, როცა დამჭირდა და ექშენსკრიპტის შესწავლისას გამომადგება შენი დაწერილი ინფო (IMG:style_emoticons/default/smile.gif) -------------------- I do it from behind...
|
|
|
მსუბუქი ვერსია | ახლა არის: 25th September 2024 - 03:32 AM |