বিশেষ টেক্সট ব্লক. Macromedia Flash MX - প্রথম ধাপ


বক্তৃতা উপকরণ, হোমওয়ার্ক এবং পরীক্ষা
দূরত্ব কোর্স "ইলেক্ট্রনিক স্কুল ম্যাক্রোমিডিয়া ফ্ল্যাশ এমএক্স"
কম্পিউটার বিজ্ঞান শিক্ষকদের জন্য রাশিয়ান সাপ্তাহিক পদ্ধতিগত সংবাদপত্র। পাবলিশিং হাউস "সেপ্টেম্বরের প্রথম" নং 42 (2003)
"হিটস অফ রোবটল্যান্ড" প্যাকেজ থেকে "রুল" প্রোগ্রামের একটি অ্যানালগ
ম্যাক্রোমিডিয়া ফ্ল্যাশ পরিবেশে।"

মুদ্রিত প্রকাশনা

ইলেকট্রনিক স্কুল ম্যাক্রোমিডিয়া ফ্ল্যাশ এমএক্স
III কোর্স: ম্যাক্রোমিডিয়া ফ্ল্যাশ এমএক্স-এ প্রোগ্রামিংয়ের মৌলিক বিষয়
মডিউল IV: কমান্ড সহ। প্রোগ্রাম "নিয়ম"
অ্যাকশনস্ক্রিপ্ট ভাষা

এক্সপ্রেস মডিউল পরিকল্পনা:
  • আদেশ সহ
  • "হিটস অফ রোবটল্যান্ড" প্যাকেজ থেকে "রুল" প্রোগ্রামের ফ্ল্যাশ ডুপ্লিকেট।

আদেশ সহ

প্রোগ্রাম কোডে (স্ক্রিপ্ট) অবজেক্ট ব্যবহার করার সময়, এটি লক্ষ্য করা সহজ যে এমনকি একটি ছোট স্ক্রিপ্ট ব্লকেও একই বস্তুর নাম বারবার পুনরাবৃত্তি হয়। এই ধরনের পুনরাবৃত্তি বিশেষ করে প্রায়ই ঘটে যখন কিছু পৃথক বস্তু ব্যবহার করা হয়, উদাহরণস্বরূপ বস্তু গণিত, উপরের স্তরের অন্তর্গত। উদাহরণস্বরূপ, নিম্নলিখিত কোডটি বেশ সাধারণ:

A = Math.PI * r * r; x = r * Math.cos(Math.PI); y = r * Math.sin(Math.PI/2);

এখানে বস্তু আছে গণিতবারবার ঘটে, যা স্ক্রিপ্ট বোঝা কঠিন করে তোলে। উইথ কমান্ড ব্যবহার করে স্ক্রিপ্ট ব্লক বন্ধনীতে আবদ্ধ থাকলে এই এন্ট্রিটি ব্যাপকভাবে সরলীকৃত করা যেতে পারে। তারপর, এই স্ক্রিপ্ট ব্লকের মধ্যে, অ্যাকশনস্ক্রিপ্ট ইন্টারপ্রেটার নির্দিষ্ট বস্তু অ্যাক্সেস করবে। এখন কোডটি নিম্নরূপ পুনরায় লেখা যেতে পারে:

(গণিত) সহ ( a = PI * r * r; x = r * cos(PI); y = r * sin (PI/2); )

আসুন সাধারণ কমান্ড বিন্যাসটি দেখে নেওয়া যাক:

সঙ্গে (বস্তু) (
বিবৃতি(গুলি);
}

বস্তু— একটি অ্যাকশনস্ক্রিপ্ট অবজেক্ট বা মুভি ক্লিপের একটি উদাহরণ।

বিবৃতি(গুলি)- কোঁকড়া ধনুর্বন্ধনীতে আবদ্ধ একটি কমান্ড বা কমান্ডের গ্রুপ।

আসুন আরেকটি উদাহরণ দেখি, যেখানে বস্তুটি ব্যবহার করা হয়েছে সিনেমার অংশবিশেষনাম দিয়েছে someOtherMovieClip:

সঙ্গে (someOtherMovieClip) ( _x = 50; _y = 100; gotoAndStop(3); )

নিচের স্ক্রিপ্টের উদ্ধৃতিটি দেখায় কিভাবে পূর্ববর্তী উদাহরণটি উইথ কমান্ড ব্যবহার না করে লেখা যায়:

SomeOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);

অনেক প্রাসঙ্গিক এলাকায় তথ্য অ্যাক্সেস করতে কমান্ড সহ নেস্টেড ব্যবহার করা সম্ভব।

"হিটস অফ রোবটল্যান্ড" প্যাকেজ থেকে "প্রভিলকা" প্রোগ্রামের ফ্ল্যাশ ডুপ্লিকেট

বোতামগুলি প্রোগ্রাম করার সময়, আমরা সক্রিয়ভাবে শাখা অপারেটর ব্যবহার করব: if এবং if else। আমরা এমন একটি কাউন্টারের ক্রিয়াকলাপও সংগঠিত করব যা সঠিক উত্তরের ক্ষেত্রে ব্যবহারকারীর কাছে পয়েন্ট যোগ করে এবং বিন্দু বিয়োগ করার ক্ষেত্রে, ত্রুটি সংশোধন না করে বা ভুল সংশোধন না করে, ব্যবহারকারী "পরবর্তী" বোতাম টিপে।

আমরা একটি মুভি ক্লিপ (পুরস্কার) এর কাজ সংগঠিত করব, যেখানে "পুরস্কার তহবিল" স্থাপন করা হবে। ব্যবহারকারী 10 পয়েন্ট স্কোর করলে, তার পুরস্কার হবে সুস্বাদু ফলের ঝুড়ি। যদি ব্যবহারকারীর পুরষ্কার হিসাবে 9 বা 8 পয়েন্ট থাকে, তবে তিনি পনিরের একটি টুকরো পাবেন, যদি ব্যবহারকারী 6 বা 7 পয়েন্ট স্কোর করার জন্য "ভাগ্যবান" হন, তবে তিনি একটি কুমড়ো পাবেন, কিন্তু যদি তিনি 5 বা 5 পয়েন্টের কম স্কোর করেন , সে একটা টমেটো পাবে!

যারা পাঁচ-পয়েন্ট রেটিং পছন্দ করেন তাদের জন্য, আসুন স্কুল ম্যাগাজিনের অ্যাক্সেসযোগ্য ভাষায় উপরেরটি অনুবাদ করি:

ফলের ঝুড়ি - 5 ;
পনির টুকরা - 4 ;
কুমড়া - 3 ;
টমেটো - 2 .

মুভি ক্লিপ অ্যাক্সেস করার সময় আমরা উইথ কমান্ড ব্যবহার করব।

আমাদের দৃশ্য 11 ফ্রেম ব্যবহার করবে. প্রথম 10টি ফ্রেম হবে "ওয়ার্কশীট" যার উপর ব্যাকরণগত ত্রুটি (ইনপুট টেক্সট) সহ বাক্যাংশ স্থাপন করা হবে। সাধারণত ইনপুট ক্ষেত্র ফাঁকা রাখা হয়, কিন্তু আমাদের ক্ষেত্রে তারা কাজ করা উচিত! প্রতিটি শীট একটি গতিশীল ক্ষেত্র দিয়ে প্রোগ্রাম করা হবে। ব্যবহারকারী ব্যাকরণগত ত্রুটি সংশোধন না করলে, পাঠ্যটি প্রদর্শিত হবে: "আপনি ত্রুটিটি সংশোধন করেননি!"

এই প্রোগ্রাম দুটি স্তর ব্যবহার করে. নীচের স্তরটি ব্যাকগ্রাউন্ড, এতে স্ট্যাটিক টেক্সট "প্রোগ্রাম সঠিক" এবং একটি টুপি সহ একটি গ্রাফিক প্রতীক রয়েছে।

আপনি যদি শিরোনামটি লেখার জন্য প্রোগ্রামে আপনার মেশিনে ইনস্টল করা কিছু বহিরাগত ফন্ট ব্যবহার করতে চান তবে এই পাঠ্যটির জন্য পরিবর্তন মেনু থেকে বিরতি ছাড়াও পদ্ধতিটি ব্যবহার করতে ভুলবেন না। অন্য কথায়, পাঠ্যকে গ্রাফিক্সে পরিণত করুন। এবং তারপরে আপনার পাঠ্যটি এমন একটি মেশিনে গবব্লেডিগুকে পরিণত হবে না যেখানে এই ফন্ট নেই!

এখন সবকিছু ঠিক আছে। চলুন ফ্রেম 1 এর জন্য একটি স্ক্রিপ্ট লিখি:

থামুন(); fscommand("শোমেনু", "মিথ্যা"); i = 0;

একটি ভিডিও চালানোর সময়, আপনাকে অবশ্যই "মেনু" অক্ষম করতে হবে। এইভাবে আমরা ব্যবহারকারীকে একটি "কদম পিছিয়ে" নেওয়ার অনুমতি দেব না। এবং আমরা কাউন্টারটি "চালু" করি।
2-10 ফ্রেমের জন্য ক্রিয়া লিখি:

উদাহরণ হিসাবে প্রথম ফ্রেম ব্যবহার করে বোতামগুলি কীভাবে কাজ করে তা দেখা যাক। আপনি বাকি বোতাম নিজেই প্রোগ্রাম করতে পারেন।

অন ​​(রিলিজ) ( যদি (t1=="হোয়াইট ক্রিসান্থেম") ( i++; gotoAndPlay(2); ) else ( i--; z1 = "আপনি ত্রুটিটি ঠিক করেননি!"; ))

এখন আমরা "পুরস্কার তহবিল" গঠন করব। আসুন তৈরি করি নতুন প্রতীকনাম সহ মুভি ক্লিপ টাইপ করুন পুরস্কারযেখানে 5টি ফ্রেম কাজ করবে। আমরা ক্লিপের সমস্ত ফ্রেমের জন্য একটি প্রচার লিখব:

ক্লিপটির প্রথম ফ্রেমটি ফাঁকা থাকবে।

দ্বিতীয় ফ্রেমে আমরা ফলের একটি ঝুড়ি রাখব এবং ফ্রেমটিকে একটি লেবেল দেব: পাঁচ.
তৃতীয় ফ্রেমে আমরা পনিরের টুকরো রাখব এবং ফ্রেমে একটি লেবেল বরাদ্দ করব: চার.
আসুন চতুর্থ ফ্রেমে একটি কুমড়া রাখি এবং ফ্রেমে একটি লেবেল বরাদ্দ করি: তিন.
আসুন পঞ্চম ফ্রেমে একটি টমেটো রাখি এবং ফ্রেমে একটি লেবেল বরাদ্দ করি: দুই.

এই প্রোগ্রামে, এই সমস্ত "খাদ্য বৈচিত্র্য" ClipArt97 সংগ্রহ (wmf ফাইল) থেকে আমদানি করা হয়েছিল। যাইহোক, আপনি আপনার নিজের "পুরস্কার তহবিল" তৈরি করতে পারেন, এটি সম্পূর্ণরূপে আপনার কল্পনার উপর নির্ভর করে।

আসুন মঞ্চে ফিরে আসি এবং শেষ 11 তম ফ্রেমে আমরা পুরস্কার সহ আমাদের তৈরি করা ক্লিপটি রাখব। মঞ্চে এটি বানান করতে ভুলবেন না। উদাহরণের নাম: পুরস্কার. আমরা এই ফ্রেমে একটি স্ক্রিপ্ট লিখব যা কাউন্টারের বিষয়বস্তু বিশ্লেষণ করে ব্যবহারকারীকে একটি পুরস্কার "দেবে":

থামুন(); sh = i; সঙ্গে (_root.priz) ( যদি (i

ভিডিওটি পরীক্ষা করুন। এবং যদি প্রয়োজন হয়, এটি ডিবাগ করুন।

পরীক্ষার প্রক্রিয়া সহজ করতে, নামের সাথে শেষ ফ্রেমে একটি গতিশীল পাঠ্য ক্ষেত্র তৈরি করুন এবং এই ক্ষেত্রে কাউন্টার ডেটা প্রদর্শন করুন। এটি করতে, 11 তম ফ্রেম স্ক্রিপ্টে দ্বিতীয় লাইন যোগ করুন:

ডিবাগিং প্রক্রিয়া সম্পন্ন করার পরে, এই ক্ষেত্রটি এবং আপনার প্রবেশ করা লাইন মুছুন।

হোমওয়ার্ক: ম্যাক্রোমিডিয়া ফ্ল্যাশ এমএক্স-এ প্রোগ্রামিংয়ের মূল বিষয়

আহা, আমাদের কত বিস্ময়কর আবিষ্কার
জ্ঞানার্জনের চেতনা প্রস্তুত করুন
এবং অভিজ্ঞতা, কঠিন ভুলের ছেলে,
এবং প্রতিভা, প্যারাডক্সের বন্ধু,
এবং সুযোগ, ঈশ্বর আবিষ্কারক.
আলেকজান্ডার সের্গেভিচ পুশকিন, "ইউজিন ওয়ানগিন"

আপনার কাজ হল এই বক্তৃতায় উপস্থাপিত উপাদানের নকল করে একটি ভিডিও তৈরি করা। আপনি নিজেই বাক্যাংশ চয়ন করতে পারেন.

আপনি বক্তৃতা উপাদান সহ আর্কাইভে ভিডিওর "পুরষ্কার তহবিল" গঠন করতে ব্যবহৃত দৃষ্টান্তমূলক উপাদান খুঁজে পেতে পারেন। এই সংরক্ষণাগারে wmf বিন্যাসে ফাইল রয়েছে। যদি এই পুরস্কার পুল আপনার প্রয়োজনীয়তাগুলি পূরণ না করে, তাহলে নির্দ্বিধায় সৃজনশীল হন এবং আপনার নিজস্ব লাইব্রেরি ব্যবহার করুন৷

আপনার সম্পূর্ণ অ্যাসাইনমেন্ট fla বিন্যাসে একটি ফাইল হিসাবে জমা দিন (যদি ফাইলের আকার 150 KB ছাড়িয়ে যায়, দয়া করে ফাইলটি সংরক্ষণ করুন) এবং এটি আপনার শিক্ষকের কাছে পাঠান।

আমি আপনার নিজের থেকে Macromedia Flash MX শেখার সাফল্য কামনা করি!

এই পৃষ্ঠায় বিভাগ:

এখন তথাকথিত সম্পর্কে কথা বলা যাক বিশেষ টেক্সট ব্লক,অর্থাৎ, টেক্সট ব্লক সম্পর্কে যা বিশেষ ফাংশন সঞ্চালন করে। এই মুহুর্তে, যাইহোক, তারা আমাদের জন্য দরকারী হবে না, কিন্তু যখন আমরা ফ্ল্যাশ পরিবেশে প্রোগ্রাম লিখতে শুরু করি তখন তাদের প্রয়োজন হবে (প্রোগ্রামিং এর জন্য উত্সর্গীকৃত পার্ট IVএই বই).

ইনপুট ক্ষেত্র

প্রবেশ ক্ষেত্র -এটি একটি উইন্ডোজ প্রোগ্রাম উইন্ডোতে রাখা এক ধরণের ছোট পাঠ্য সম্পাদক এবং একক বা বহু-লাইন পাঠ্য প্রবেশের জন্য ডিজাইন করা হয়েছে। একই সময়ে, উইন্ডোজ নিজেই টেক্সট ইনপুট পরিচালনা করে: আমরা কেবল অক্ষর টাইপ করি, তীর কী ব্যবহার করি, , , পাঠ্য নির্বাচন করুন, ক্লিপবোর্ড ব্যবহার করুন, যে কোনো "বড়" হিসাবে টেক্সট সম্পাদক. মাইক্রোসফ্ট প্রোগ্রামাররা স্ট্যান্ডার্ড উইন্ডোজ ইনপুট ক্ষেত্রগুলিকে সত্যিই সুবিধাজনক করতে কঠোর পরিশ্রম করেছে।

ফ্ল্যাশে একটি ইনপুট ক্ষেত্র তৈরি করতে, আপনাকে প্রথমে আপনার ওয়ার্কশীটে একটি নিয়মিত পাঠ্য ব্লক রাখতে হবে এবং তীর সরঞ্জাম দিয়ে এটি নির্বাচন করতে হবে (আপনাকে পাঠ্য ব্লকে কোনো পাঠ্য প্রবেশ করতে হবে না)। এর পরে, প্যানেলের উপরের বাম কোণে খুঁজুন বৈশিষ্ট্যএকটি ছোট ড্রপ-ডাউন তালিকা (চিত্র 7.4 দেখুন) এবং এতে আইটেমটি নির্বাচন করুন ইনপুট টেক্সট।এর পরে যদি আমরা ফলস্বরূপ টেক্সট ব্লক খুলি, আমরা দেখতে পাব কি চিত্রে দেখানো হয়েছে। ৭.৯।


তাহলে আমরা কি দেখতে পাচ্ছি? এবং আমরা রিসাইজিং মার্কারগুলির একটি সম্পূর্ণ সেট দেখতে পাচ্ছি (আমরা ইনপুট ক্ষেত্রটি বন্ধ করলেও সেগুলি সংরক্ষণ করা হবে)। এর মানে হল যে আমরা ফলস্বরূপ ইনপুট ক্ষেত্রের উল্লম্ব আকার পরিবর্তন করতে পারি। এবং উপরের ডান কোণ থেকে আয়তক্ষেত্রাকার মার্কার নীচের ডানদিকে চলে যাবে - এটি একটি চিহ্ন যে আমাদের সামনে একটি ইনপুট ক্ষেত্র রয়েছে।

প্যানেল ভিউ বৈশিষ্ট্যইনপুট ক্ষেত্র নির্বাচন করার পরে চিত্রে দেখানো হয়েছে। 7.10। আমরা দেখতে পাই, তারা সেখানে হাজির অতিরিক্ত উপাদানবিবেচনা করা প্রয়োজন যে নিয়ন্ত্রণ.


প্রথমত, আমরা যে তালিকাটি ব্যবহার করেছি তার ঠিক নীচে, একটি ক্ষেত্র উপস্থিত হয়েছে যেখানে আমাদের একটি অনন্য নির্দিষ্ট করতে হবে নাম,আমরা যে ফ্ল্যাশ ইনপুট ক্ষেত্রটি তৈরি করেছি তা সনাক্ত করা। একটি ওয়ার্কশীটে তৈরি প্রতিটি ইনপুট ক্ষেত্রের একটি অনন্য নাম থাকতে হবে। এই নামটিতে রাশিয়ান এবং ল্যাটিন বর্ণমালার অক্ষর, সংখ্যা এবং আন্ডারস্কোর থাকতে পারে এবং এটি একটি অক্ষর বা একটি আন্ডারস্কোর দিয়ে শুরু হতে হবে।

ট্র্যাকিং টাস্ক ইনপুট ক্ষেত্রের নীচে আরেকটি ড্রপ-ডাউন তালিকা রয়েছে। ইনপুট ক্ষেত্রের ধরন নির্বাচন করতে এটি ব্যবহার করুন। এই তালিকায় চারটি আইটেম উপলব্ধ রয়েছে:

? একক লাইন- নিয়মিত একক লাইন ইনপুট ক্ষেত্র;

? মাল্টিলাইন- মাল্টিলাইন ইনপুট ক্ষেত্র(অন্য কথায়, সম্পাদনা এলাকা);

? মাল্টিলাইন কোন মোড়ক- একটি মাল্টি-লাইন ইনপুট ক্ষেত্র যা স্বয়ংক্রিয়ভাবে একটি লাইন ভাঙবে না (যদিও ব্যবহারকারী কী টিপে ম্যানুয়ালি একটি লাইন ভাঙতে পারে );

? পাসওয়ার্ড- পাসওয়ার্ড এন্ট্রি ক্ষেত্র।একটি নিয়মিত একক-লাইন ইনপুট ক্ষেত্রের মতো, কিন্তু এতে প্রবেশ করা পাঠ্যটি লুকিয়ে রাখে, পরিবর্তে তারকাচিহ্নের একটি স্ট্রিং প্রদর্শন করে।

এই তালিকার ডানদিকে তিনটি সুইচ বোতামের একটি সেট রয়েছে৷ তাদের মধ্যে প্রথমটি ইতিমধ্যেই আমাদের কাছে পরিচিত - এটি ব্যবহারকারীকে ইনপুট ক্ষেত্রে পাঠ্য নির্বাচন করতে দেয়:


চিত্রে দেখা যাবে। 7.10, এই বোতামটি চাপা এবং নিষ্ক্রিয় করা হয়েছে, অর্থাৎ এটি নিষ্ক্রিয় করা যাবে না।

দ্বিতীয় সুইচ বোতাম, যখন সক্রিয় করা হয়, ফ্ল্যাশকে নির্দেশ দেয় পাঠ্যের সম্মুখীন হওয়া সমস্ত HTML ট্যাগ প্রক্রিয়া করার জন্য:


সুতরাং, যদি আমরা একটি ট্যাগ একটি টেক্সট টুকরা ঘিরা<В>.. , ফ্ল্যাশ এটিকে বোল্ডে হাইলাইট করবে। যদি এই বোতামটি নিষ্ক্রিয় করা হয়, ফ্ল্যাশ সেখানে নির্দিষ্ট করা যেকোনো HTML ট্যাগের সাথে "যেমন আছে" পাঠ্য প্রদর্শন করে।

সাধারণভাবে বলতে গেলে, এই বৈশিষ্ট্যটি তখনই উপযোগী যদি আমরা একটি ActionScript স্ক্রিপ্ট থেকে একটি ইনপুট ক্ষেত্রের বিষয়বস্তু নির্দিষ্ট করি, তাই এটি এখানে সময়ের আগে বর্ণনা করা হয়েছে। বিস্তারিত সমর্থন তথ্য এইচটিএমএল ট্যাগফ্ল্যাশ অনলাইন সহায়তায় ইনপুট ক্ষেত্র এবং গতিশীল পাঠ্য ব্লকগুলি পাওয়া যাবে।

তৃতীয় টগল বোতাম, যখন সক্রিয় থাকে, তখন ফ্ল্যাশ ইনপুট ক্ষেত্রের চারপাশে একটি সীমানা দেখায়, এটিকে একটি আদর্শ উইন্ডোজ ইনপুট ক্ষেত্রের অনুরূপ করে তোলে:


যদি এটি নিষ্ক্রিয় করা হয়, ইনপুট ক্ষেত্রের একটি "ফ্ল্যাট" চেহারা আছে।

আমরা যে ইনপুট ক্ষেত্রটি তৈরি করেছি তা যদি মূল ইন্টারফেসের অংশ হতে হয়, তাহলে এই বোতামটি নিষ্ক্রিয় রাখাই উত্তম। আমরা যদি ইনপুট ক্ষেত্রটিকে ব্যবহারকারীর কাছে আরও পরিচিত বা আরও দৃশ্যমান করতে চাই, আমরা এই বোতামটি সক্ষম করতে পারি।

এই তিনটি বোতামের ডানদিকে একটি ইনপুট ক্ষেত্র রয়েছে ভার. এই ক্ষেত্রটি অ্যাকশনস্ক্রিপ্ট ভেরিয়েবলের নাম উল্লেখ করে যেখানে আমরা তৈরি করা ইনপুট ক্ষেত্রে প্রবেশ করা টেক্সট স্থাপন করা হবে। একটি ভেরিয়েবল হল কম্পিউটারের মেমরিতে তৈরি ডেটার এক ধরণের "স্টোরেজ সেল" এবং এর একটি অনন্য নাম রয়েছে যা দ্বারা এটি অনন্যভাবে সনাক্ত করা যায়। আমরা এই ভেরিয়েবলটিকে নাম দিয়ে উল্লেখ করতে পারি, এটি থেকে ডেটা বের করতে পারি বা এটিতে একটি নতুন মান রাখতে পারি। ভেরিয়েবল সম্পর্কে বিস্তারিত আলোচনা করা হবে অধ্যায় 19।

ইনপুট ক্ষেত্রে সর্বাধিক অক্ষরব্যবহারকারী এটিতে প্রবেশ করতে পারে এমন সর্বাধিক সংখ্যক অক্ষর সেট করে। যদি আমরা এই সংখ্যাটি সীমাবদ্ধ করতে না চাই, তাহলে আমরা সেখানে মান 0 লিখব (এটি, উপায় দ্বারা, ক্ষেত্রের ডিফল্ট মান)।

এখন আসুন ফন্ট বাস্তবায়নের বিষয়ে ফিরে আসি, তবে ইনপুট ক্ষেত্রগুলির সাথে সম্পর্কিত (আরও স্পষ্টভাবে, সমস্ত বিশেষ পাঠ্য ব্লকে)। ব্যাপারটি হল এই ক্ষেত্রে কোন এমবেডিং করা হয় না - ফ্ল্যাশ শুধুমাত্র ব্যবহৃত ফন্টের নাম সংরক্ষণ করে। আপনি যখন একটি সমাপ্ত চিত্র চালান, ফ্ল্যাশ প্লেয়ার প্রথমে ক্লায়েন্টের কম্পিউটারে এই ফন্টগুলি সন্ধান করে এবং যদি উপস্থিত থাকে তবে পাঠ্য প্রদর্শনের জন্য সেগুলি ব্যবহার করে। যদি একটি উপযুক্ত ফন্ট পাওয়া না যায়, প্লেয়ারটি পছন্দসই একটির কাছাকাছি অনুরূপ ফন্ট ব্যবহার করে, যার কারণে চিত্রটি বিকৃত হতে পারে। এবং এটি সবসময় গ্রহণযোগ্য নয়।

কিন্তু আমরা এখনও ফ্ল্যাশকে বাধ্য করতে পারি একটি প্রদত্ত ইনপুট ক্ষেত্রের জন্য নির্দিষ্ট ফন্টের নির্বাচিত অক্ষরগুলির বর্ণনাকে ফলস্বরূপ শকওয়েভ/ফ্ল্যাশ ফাইলে এমবেড করতে। এখন আমরা দেখব কিভাবে এটি করা হয়।

এম্বেড করার জন্য ফন্টের অক্ষর নির্বাচন করা ডায়ালগ বক্সে সম্পন্ন হয় অক্ষর এমবেডিং(চিত্র 7.11)। বোতাম টিপে এই উইন্ডোটি পর্দায় উপস্থিত হবে বসানপ্যানেল বৈশিষ্ট্য(চিত্র 7.10 দেখুন)।


এই উইন্ডোর বৃহৎ তালিকাটি আমাদেরকে চিহ্নের সম্পূর্ণ গোষ্ঠী নির্বাচন করার অনুমতি দেবে যা ফলস্বরূপ শকওয়েভ/ফ্ল্যাশ ফাইলে এমবেড করা উচিত। এটি বেশ কয়েকটি আইটেম রয়েছে; আমাদের জন্য উপযোগী হওয়ার গ্যারান্টিযুক্ত একইগুলি নীচে দেওয়া হল:

? সমস্ত (39477 গ্লিফ)- এই ফন্টের সমস্ত অক্ষর 39,477 পরিমাণে। এই আইটেমটি শুধুমাত্র তথ্যগত উদ্দেশ্যে প্রদান করা হয়েছে; বাস্তবে, খুব কমই কেউ এটি ব্যবহার করবে;

? বড় হাতের (27 গ্লিফ)- বড় ল্যাটিন অক্ষর (27 অক্ষর);

? ছোট হাতের অক্ষর (27 গ্লিফ)- ছোট ল্যাটিন অক্ষর (এছাড়াও 27টি অক্ষর);

? সংখ্যা (11 গ্লিফ)- আরবি সংখ্যা (11 অক্ষর);

?বিরাম চিহ্ন [!@#$%…] (52 গ্লিফ)- বিরাম চিহ্ন এবং বিশেষ উপাধি (52 অক্ষর);

?মৌলিক ল্যাটিন (95 গ্লিফ)- বেশিরভাগ ইউরোপীয় ভাষার অক্ষর (95 অক্ষর);

?সিরিলিক (499 গ্লিফ)- সিরিলিক অক্ষর (499 অক্ষর)। সম্ভবত আমাদের ক্ষেত্রে সবচেয়ে গুরুত্বপূর্ণ পয়েন্ট.

একটি নিয়ম হিসাবে, এই তালিকায় একবারে বেশ কয়েকটি আইটেম হাইলাইট করা হয়েছে (এটি ঠিক - যার সংখ্যা ছাড়াই অক্ষর দরকার!) এটি করার জন্য, প্রথমে আমরা যেগুলি নির্বাচন করতে চাই তার সেট থেকে প্রথম আইটেমটিতে ক্লিক করুন, তারপর কী টিপুন এবং, এটি ধরে রেখে, বাকি আইটেমগুলিতে ক্লিক করুন যতক্ষণ না আমরা সবকিছু নির্বাচন করি। এর পরে আপনি কীটি ছেড়ে দিতে পারেন .

ফন্টের তালিকার নীচে একটি ইনপুট ক্ষেত্র রয়েছে এই অক্ষর অন্তর্ভুক্ত.এটিতে আমরা ম্যানুয়ালি অক্ষরগুলি প্রবেশ করতে পারি যেগুলি এম্বেড করা দরকার। এই পদ্ধতিটি কার্যকর যদি আমরা একটি ফন্টে শুধুমাত্র কিছু অক্ষর এম্বেড করতে চাই। এবং যদি আমরা বোতাম টিপুন অটো ফিল,ফ্ল্যাশ নিজেই এই ইনপুট ফিল্ডে সমস্ত অক্ষর প্রতিস্থাপন করবে যা আমরা নির্বাচিত ইনপুট ক্ষেত্রের পাঠ্যে ব্যবহার করেছি।

জানালার একেবারে নীচে অক্ষর বিকল্পএকটি ছোট পাঠ্য ক্ষেত্র আছে মোট গ্লিফ সংখ্যা,আমরা ইতিমধ্যে এমবেডিংয়ের জন্য কতগুলি অক্ষর নির্বাচন করেছি তা দেখাচ্ছে। তাই আমরা সময়মত থামাতে পারি।

বোতাম এম্বেড করবেন নাআমরা বাস্তবায়নের জন্য যে অক্ষরগুলি বেছে নিয়েছি সেগুলি আপনাকে দ্রুত মুছে ফেলার অনুমতি দেবে৷ আপনি এটিতে ক্লিক করলে, ইনপুট ক্ষেত্রটি সাফ হয়ে যাবে এই অক্ষর অন্তর্ভুক্ত করুন,এবং একটি বড় তালিকায়, আমাদের নির্বাচিত আইটেমগুলির নির্বাচন অদৃশ্য হয়ে যাবে।

ডায়ালগ বক্সে ফন্ট এমবেডিং অপশন সেট করে অক্ষর এমবেডিং,বোতাম টিপতে হবে ঠিক আছে,তাদের প্রয়োগ করতে। আপনি যদি এই সেটিংস বাতিল করতে চান, বোতামে ক্লিক করুন বাতিল করুন।

ডায়নামিক টেক্সট ব্লক

প্রায়শই, প্লেইন, অপরিবর্তিত পাঠ্য দেখানোর পরিবর্তে, আপনি পাঠ্য আকারে একটি অ্যাকশনস্ক্রিপ্ট স্ক্রিপ্টের আউটপুট প্রদর্শন করতে চান। উদাহরণস্বরূপ, এই ধরনের একটি স্ক্রিপ্ট Compulents ওয়েবসাইট থেকে খবর বের করতে পারে, Aporta ওয়েবসাইট থেকে একটি আবহাওয়ার পূর্বাভাস এবং Rambler ওয়েবসাইট থেকে বিনিময় হার, নিষ্কাশিত ডেটাতে বর্তমান সময় যোগ করতে পারে এবং এই সমস্তটি স্ক্রিনে পাঠ্য হিসাবে প্রদর্শন করতে পারে। (প্রসঙ্গক্রমে, আকর্ষণীয় ধারণা ...)

এটি সঠিকভাবে পাঠ্য প্রদর্শনের জন্য যা তারা যে স্ক্রিপ্ট ব্যবহার করা হয় তার ফলাফল। গতিশীল পাঠ্য ব্লক।(নিয়মিত টেক্সট ব্লক প্রায়ই বলা হয় স্ট্যাটিক।)সম্ভবত ইনপুট ক্ষেত্রের তুলনায় এই ধরনের গতিশীল পাঠ্য ব্লকের প্রয়োজন বেশি দেখা যায়।

একটি ডাইনামিক টেক্সট ব্লক অনেকটা ইনপুট ফিল্ডের মতোই তৈরি করা হয়। একটি নিয়মিত টেক্সট ব্লক তৈরি করুন, তীর টুল দিয়ে এটি নির্বাচন করুন এবং প্যানেলের উপরের বাম কোণে এটি খুঁজুন বৈশিষ্ট্যএকটি ছোট ড্রপ-ডাউন তালিকা (চিত্র 7.4 দেখুন)। আপনি শুধু এই তালিকা থেকে একটি আইটেম নির্বাচন করতে হবে ডায়নামিক টেক্সট।

একটি নির্বাচিত গতিশীল পাঠ্য ব্লক একটি ইনপুট ক্ষেত্রের অনুরূপ (চিত্র 7.9 দেখুন), এবং প্যানেল বৈশিষ্ট্যচিত্রে দেখানো হিসাবে প্রায় একই দেখাবে। 7.10। অতএব, আমরা এতে থাকা নিয়ন্ত্রণগুলির একটি বিবরণ দেব না, তবে বিদ্যমান পার্থক্যগুলি নির্দেশ করার জন্য নিজেদেরকে সীমাবদ্ধ করব।

ডায়নামিক টেক্সট ব্লকে টেক্সট প্রদর্শন করতে একই ভেরিয়েবল ব্যবহার করা হয়। অ্যাকশনস্ক্রিপ্ট স্ক্রিপ্ট আউটপুট টেক্সটকে এমন একটি ভেরিয়েবলে রাখে এবং ফ্ল্যাশ প্লেয়ার আউটপুটটি সম্পাদন করে। এই ভেরিয়েবলের নামটি তালিকার নীচে অবস্থিত একই ইনপুট ক্ষেত্রে প্রবেশ করানো হয়েছে, যার সাহায্যে আমরা একটি নিয়মিত পাঠ্য ব্লককে একটি গতিশীল তে পরিণত করেছি।

এখন পার্থক্য সম্পর্কে। প্রকৃতপক্ষে ইন্টারফেসের ক্ষেত্রে শুধুমাত্র একটি পার্থক্য রয়েছে এবং উপরন্তু, এটি ইতিমধ্যে আমাদের কাছে পরিচিত। সুইচ বোতাম:


ডায়নামিক টেক্সট ব্লকে রাখা টেক্সট হাইলাইট এবং কপি করার ক্ষমতা সহ এখন উপলব্ধ, এবং আমরা ইচ্ছা করলে এটি অক্ষম করতে পারি।

ক্ষমতার পরিপ্রেক্ষিতে পার্থক্য হল একটি গতিশীল পাঠ্য ব্লক তৈরি করা যেতে পারে স্ক্রোলযোগ্য একটি সাধারণ গতিশীল ব্লকের অবশ্যই এমন মাত্রা থাকতে হবে যাতে এটির সমস্ত বিষয়বস্তু থাকতে পারে। একটি স্ক্রোলযোগ্য ব্লকের জন্য, এটি প্রয়োজনীয় নয়: এলাকার অনুরূপ উইন্ডোজ সম্পাদনা, এটি এতে থাকা পাঠ্যটিকে "স্ক্রোল" করতে পারে। স্ক্রলিং নিয়ন্ত্রণ করতে, আমাদের যথাযথ অ্যাকশনস্ক্রিপ্ট স্ক্রিপ্ট লিখতে হবে - একটি স্ক্রোলযোগ্য পাঠ্য ব্লকে স্ক্রল বার থাকে না।

একটি গতিশীল পাঠ্য ব্লক স্ক্রোলযোগ্য করতে, আপনাকে প্রথমে এটি নির্বাচন করতে হবে। এর পরে, আপনার সুইচটি চালু করা উচিত স্ক্রোলযোগ্যতালিকা পাঠ্যঅথবা একই নামের টেক্সট ব্লক প্রসঙ্গ মেনু আইটেম। যদি একটি টেক্সট ব্লক বর্তমানে খোলা থাকে, আপনি চেপে ধরে রেখে নির্বাচন আয়তক্ষেত্রের নীচের ডানদিকে অবস্থিত বর্গাকার হ্যান্ডেলটিতে ডাবল ক্লিক করতে পারেন . সমাপ্ত স্ক্রোলযোগ্য পাঠ্য ব্লক চিত্রে দেখানো হয়েছে। 7.12; লক্ষ্য করুন যে আমরা যে মার্কারটি ক্লিক করেছি তা একটি কালো বর্গক্ষেত্রের আকার নিয়েছে।


"ম্যাক্রোমিডিয়া ফ্ল্যাশ 8: একটি তরুণ যোদ্ধার জন্য একটি কোর্স" শিরোনামের অধীনে, এই দুর্দান্ত সফ্টওয়্যার পণ্যটির জন্য উত্সর্গীকৃত এবং ফ্ল্যাশ প্রযুক্তি. আজ থেকে, ফ্ল্যাশ সম্পর্কে আমরা যে বিষয়গুলি নিয়ে কথা বলব সেগুলি আরও ফোকাসড হয়ে উঠবে৷ অতএব, এখন থেকে আমি শিরোনামে "তরুণ ফাইটার কোর্স" শব্দগুলি বাদ দেব। যাইহোক, এই পরিস্থিতিতে উপাদানটি যেভাবে উপস্থাপিত হয়েছে তা মোটেও প্রভাবিত করবে না, যার মূল লক্ষ্য হল নতুন ফ্ল্যাশ ডিজাইনারদের অনেক প্রশ্নের উত্তর দেওয়া এবং অভিজ্ঞদের চিন্তার জন্য খাদ্য দেওয়া।

সুতরাং, আজকের এজেন্ডায় রয়েছে ম্যাক্রোমিডিয়া ফ্ল্যাশ প্রফেশনাল 8-এর ইউজার ইন্টারফেস উপাদান, সেইসাথে সেগুলি কীভাবে কাস্টমাইজ করা যায়।


স্ট্যান্ডার্ড ফ্ল্যাশ 8 উপাদান

শক্তিশালী গ্রাফিক্স প্যাকেজ ম্যাক্রোমিডিয়া ফ্ল্যাশ 8-এর সর্বশেষ সংস্করণ, উচ্চ-মানের অ্যানিমেশন তৈরি করার জন্য ডিজাইন করা একগুচ্ছ সরঞ্জাম, পদ্ধতি এবং টাইমলাইন প্রভাব ছাড়াও, একটি সম্পূর্ণ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা অ্যাকশনস্ক্রিপ্ট 2.0 এবং অসংখ্য উপাদান রয়েছে (বিল্ট- মুভির মত প্রোগ্রাম ব্লকে)।

কেন আমরা সব উপাদান প্রয়োজন? অনেক ক্ষেত্রে, তারা একটি ইন্টারেক্টিভ অ্যাপ্লিকেশন বিকাশের প্রক্রিয়াটিকে ব্যাপকভাবে সরল করে। ওয়েবসাইটগুলিতে ডেটা এন্ট্রি ক্ষেত্র এবং বিভিন্ন সুইচ ব্যবহার করে, নিবন্ধন ফর্মগুলি সহজেই তৈরি করা যায়, লোডার ব্যবহার করে আপনি বিভিন্ন উত্স থেকে পাঠ্য এবং মাল্টিমিডিয়া ডেটা লোডিং নিয়ন্ত্রণ করতে পারেন, ইত্যাদি। আজ আমরা ফ্ল্যাশ 8 - ইউজার ইন্টারফেস উপাদান (ইউজার ইন্টারফেস - UI) এর একটি কম্পোনেন্ট ক্লাসের সাথে পরিচিত হব।

ফ্ল্যাশের সবচেয়ে জনপ্রিয় বস্তুটি অবশ্যই বোতাম। এটি একটি প্রতীক প্রকার এবং একটি UI উপাদান হিসাবে উভয় ফ্ল্যাশে উপস্থিত রয়েছে। রেডিওবাটন, চেকবক্স, মেনুবার, ইত্যাদি উপাদানগুলি কম ঘন ঘন ব্যবহার করা হয়, কিন্তু সেগুলি কোনভাবেই কম গুরুত্বপূর্ণ নয়। Ctrl+F8 চেপে বা উইন্ডো -> উপাদান মেনু থেকে কম্পোনেন্ট উইন্ডো কল করা হয়। প্রধান UI উপাদানগুলির জন্য টেবিলটি দেখুন।

উপাদান বর্ণনা
অ্যাকর্ডিয়ন ফর্ম নেভিগেটর
সতর্কতা লিখিত বার্তা
বোতাম সহজ বোতাম
চেকবক্স চেকবক্স
কম্বো বাক্স কম্বো তালিকা
তালিকা তালিকা
লোডার লোডার ধারক
রেডিও বোতাম নির্বাচক সুইচ
TextArea পাঠ্য এলাকা
জানলা একটি উইন্ডো আকারে ধারক

আজ, সতর্কতা নামক একটি ইউজার ইন্টারফেস উপাদানের প্যারামিটার সেট করার উদাহরণ ব্যবহার করে, আমরা উপাদান শৈলীগুলির সাথে কাজ করার নীতিগুলি দেখব।


উপাদান বৈশিষ্ট্য পূর্বনির্ধারণ

সতর্কতা উপাদান আপনাকে ব্যবহারকারী এবং কম্পিউটারের মধ্যে একটি ছোট সংলাপ সংগঠিত করতে দেয়। আসুন এলিস টকিং প্রোগ্রামের অনুরূপ কিছু কল্পনা করি, যা 60 এর দশকে তৈরি হয়েছিল এবং একটি ছোট কৃত্রিম বুদ্ধিমত্তা রয়েছে যা পূর্বে জিজ্ঞাসা করা প্রশ্নের উত্তরগুলি ব্যবহার করে একজন ব্যক্তির সাথে কথোপকথন চালিয়ে যাওয়া সম্ভব করেছিল।

প্রথমে, আসুন বোতামগুলির লেবেলগুলি পরিবর্তন করি এবং তাদের ক্লিকগুলির জন্য একটি হ্যান্ডলার লিখি৷ ব্যবহারকারী কোন বোতামটি ক্লিক করেছেন তার উপর নির্ভর করে একটি বিশেষ বার্তা প্রদর্শিত হবে। এই সব শৈলী ব্যবহার না করে অর্জন করা হয়. সুতরাং, আসুন উপাদান প্যানেল থেকে একটি ফাঁকা শীটে সতর্কতা উইন্ডোটি টেনে আনুন এবং সমস্ত প্রয়োজনীয় সেটিংস প্রদান করুন। আমাদের মনে রাখা যাক যে কোনো ফ্ল্যাশ ফ্লা ফাইলে একটি লাইব্রেরি থাকে (যাকে Ctrl+"L" চেপে বলা হয়), যেখানে উপাদানগুলির উদাহরণ সংরক্ষণ করা হয়। সতর্কতা উইন্ডোটি এখানেও ফিট করে। যেহেতু আমরা এটি সর্বদা কর্মক্ষেত্রে ঝুলতে চাই না, তাই আমরা এটিকে সেখান থেকে সরিয়ে দিতে পারি (অবশ্যই আর্টবোর্ড থেকে)। লাইব্রেরিতে সতর্ক থাকবে।

এখন টাইমলাইনে প্রথম ফ্রেমটি নির্বাচন করুন, অ্যাকশন বিভাগে যান (F9) এবং নিম্নলিখিত প্রোগ্রাম কোডটি লিখুন: "mx.controls.Alert আমদানি করুন" (আরো বিশদ বিবরণের জন্য, তালিকা দেখুন)। অনেক প্রয়োজনীয় সেটিংস শুধুমাত্র অ্যাকশনস্ক্রিপ্ট ব্যবহার করে সেট করা যেতে পারে। অ্যালার্ট উইন্ডোটিকে Alert.show ("টেক্সট", "উইন্ডো শিরোনাম", "ব্যবহৃত বোতাম", "উইন্ডো", "ক্লিক হ্যান্ডলার", "নির্বাচিত বোতাম") পদ্ধতির দ্বারা ডাকা হয় যার অনেকগুলি প্যারামিটার বন্ধনীতে নির্দিষ্ট করা আছে। ব্যবহৃত বোতামগুলির জন্য, "Alert.YES | Alert.NO" একক উদ্ধৃতিতে নির্দেশিত হয়েছে (এছাড়াও "ওকে" এবং "বাতিল" বোতাম রয়েছে), এবং ইভেন্ট হ্যান্ডলারের জন্য - "বাটনক্লিক" ফাংশন, যা আমরা লিখব একটু পরে. এখন অ্যালার্ট উপাদান বৈশিষ্ট্য "yesLabel" এবং "noLabel" ব্যবহার করে "YES" এবং "NO" বোতামের লেবেল পরিবর্তন করা যাক। তারপরে প্রয়োজনীয় মাত্রা ("বোতামের প্রস্থ" এবং "বাটন উচ্চতা") সেট করুন। সর্বোত্তম পরামিতি নির্বাচন করতে, পরীক্ষার জন্য ভিডিও চালানোর জন্য এটি দরকারী - "এন্টার" + Ctrl কী। "বাটনক্লিক" ফাংশনের যুক্তিটি নিম্নরূপ: যখন "অসাধারণ" বোতামটি চাপানো হয়, তখন "কিপ ইট আপ!" বার্তাটি পপ আপ হয়, যখন "সো-সো" - "আপনার নাক উপরে রাখুন!" পরিবর্তনগুলি কার্যকর করার জন্য, এই ফাংশনের বিবরণ এবং সতর্কতা উপাদানের সেটিংস অবশ্যই Alert.show পদ্ধতিতে কল করার আগে থাকতে হবে, যেমনটি তালিকায় দেখানো হয়েছে:

আমদানি mx.controls.Alert; Alert.buttonWidth=150; Alert.buttonHeight=25; Alert.yesLabel="Wonderful"; Alert.noLabel="So-so..."; buttonclick = function(evt)(if (evt.detail == Alert.YES) (Alert.show("কিপ ইট আপ!", "Macromedia Flash 8");) if (evt.detail == Alert.NO) ( অ্যালার্ট .শো , সতর্কতা . হ্যাঁ);

একইভাবে, আপনি ব্যবহারকারীর সাথে আরও জটিল সংলাপ সংগঠিত করতে পারেন।


শৈলী সঙ্গে কাজ

শৈলী কি জন্য ব্যবহৃত হয়? আমি এখন ব্যাখ্যা করব। ফ্ল্যাশের যেকোনো উপাদানের একটি নির্দিষ্ট রঙের স্কিম, ফন্টের আকার ইত্যাদি থাকে। তবে আপনি যদি বিকাশ করছেন, উদাহরণস্বরূপ, আপনার নিজের ওয়েবসাইট, তবে ছবির অখণ্ডতা লঙ্ঘন না করার জন্য, আপনাকে সাইটের উপাদানগুলিকে "সামঞ্জস্য" করতে হবে। আমি মনে করি আমি ভুল করব না যদি আমি বলি যে প্রতিটি ফ্ল্যাশ ডিজাইনার তার ভিডিওগুলি একটি বিশেষ পদ্ধতিতে তৈরি করার চেষ্টা করে যা তার কাছে অনন্য। Flash 8-এ শৈলী এবং থিম সহ, আপনি প্রতিটি উপাদানকে অনন্য করে তুলতে পারেন। তবে চলুন দূরে সরে না গিয়ে আপাতত শৈলীতে ফোকাস করি।

ফরম্যাটিং অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (স্টাইল এপিআই) ব্যবহারকারীকে বৈশিষ্ট্য এবং পদ্ধতি সরবরাহ করে যা একটি উপাদানের রঙ পরিবর্তন করতে এবং এতে থাকা পাঠ্যকে ফর্ম্যাট করতে ব্যবহার করা যেতে পারে। সাধারণত এই যথেষ্ট। প্যারামিটারের একটি সেট সহ দুটি শৈলী সহ ফ্ল্যাশ 8 জাহাজ: "হ্যালো" এবং "নমুনা", যা যথাক্রমে HaloTheme.fla এবং SampleTheme.fla ফাইলগুলিতে অবস্থিত। চিত্রটি Windows 2000/XP-এ তাদের অবস্থান দেখায়। এটি লক্ষ করা উচিত যে "নমুনা" থিমের আরও অনেক বৈশিষ্ট্য রয়েছে, তাই উপাদানগুলি পরিবর্তন করতে এটি ব্যবহার করা আরও যুক্তিযুক্ত। এবং এটি নিম্নরূপ করা হয়:

  1. File -> Import -> Open External Library কে বলা হয় এবং SampleTheme.fla ফাইলটি ডায়ালগ বক্সে নির্দিষ্ট করা হয়। তারপর, আমদানি করা লাইব্রেরি প্যানেলে, Flash UI Components2 -> Themes -> MMDefault নির্বাচন করুন। তারপরে এই উইন্ডো থেকে আপনাকে বর্তমান নথির প্রতীক লাইব্রেরি উইন্ডোতে পছন্দসই উপাদান (সম্পদ) এর সংস্থান সহ ফোল্ডারটি টেনে আনতে হবে।
  2. setStyle (প্যারামিটার, মান) এবং getStyle (প্যারামিটার) পদ্ধতি ব্যবহার করে, আপনি নির্বাচিত শৈলীর একটি নির্দিষ্ট প্যারামিটারের মান সেট বা পেতে পারেন।

যেহেতু আমরা Alert কম্পোনেন্টের সাথে কাজ করছি, আমরা "Alert Asset" ফোল্ডারটিকে আমাদের নথির প্রতীক লাইব্রেরিতে টেনে আনব। তারপরে আমরা "নমুনা" থিমের স্ট্যান্ডার্ড বৈশিষ্ট্যগুলি ব্যবহার করব (তালিকা দেখুন)।

Global.styles.Alert.setStyle("রঙ", "লাল"); _global.styles.Alert.setStyle("themeColor", "haloBlue"); _global.styles.Alert.setStyle("ব্যাকগ্রাউন্ড কালার", "0xE0C5FE"); _global.styles.Alert.setStyle("fontFamily", "times new novel"); _global.styles.Alert.setStyle("fontSize", "15");

অ্যালার্ট ডায়ালগ বক্সের রঙ এখন বেগুনি (0xE0C5FE) এবং এর টেক্সট এখন নীল, ফন্টটি 15-পয়েন্ট টাইমস নিউ রোমানে সেট করা হয়েছে। এটি লক্ষ করা উচিত যে সতর্কতা চিহ্নটি এইভাবে সংশোধন করা হয়েছিল, তাই পরিবর্তনগুলি এর সমস্ত দৃষ্টান্তকে প্রভাবিত করবে। সমস্ত Halo এবং Samlpe থিমের বৈশিষ্ট্যগুলির একটি বিবরণ Flash 8 সহায়তায় পাওয়া যাবে।


এই আমার জন্য যথেষ্ট না হলে কি হবে?

যদি, এমনকি শৈলীর সাথেও, উপাদানগুলির উপস্থিতি আপনার নান্দনিক প্রয়োজনীয়তাগুলি পূরণ করে না, তবে আপনি নিজের থিম লেখার চেষ্টা করতে পারেন। এটি করার জন্য, মানক থিমগুলির একটিতে প্রয়োজনীয় উপাদানগুলির শেলগুলি সম্পাদনা বা প্রতিস্থাপন করুন। এটি করার জন্য, HaloTheme.fla বা SampleTheme.fla ফাইলটি একটি অনন্য নামে সংরক্ষণ করুন, এটি লোড করুন, প্রতীক লাইব্রেরি উইন্ডোতে যান (উইন্ডো -> লাইব্রেরি বা Ctrl+L), প্রয়োজনীয় উপাদান নির্বাচন করুন এবং "সম্পাদনা" বিকল্পটি নির্বাচন করুন। প্রসঙ্গ মেনুতে। কিছু UI উপাদান অনেকগুলি অংশ নিয়ে গঠিত, তাই প্রতিটি অংশ পুনরায় অঙ্কন বা পুনরায় তৈরি করে সহজেই রূপান্তরিত করা যেতে পারে। এই ধরনের উপাদানগুলি হল বোতাম, চেকবক্স, কম্বোবক্স, ডেটাগ্রিড, রেডিওবাটন ইত্যাদি। অন্যান্য শেলগুলি প্রোগ্রাম্যাটিকভাবে আঁকা হয়। এই ক্ষেত্রে, পরিবর্তন করতে চেহারাকম্পোনেন্টকে সোর্স কোড পরিবর্তন করতে হবে। এটি, উদাহরণস্বরূপ, সতর্কতা উপাদান। যেহেতু একটি কাস্টম থিম তৈরি করা একটি সময়সাপেক্ষ প্রক্রিয়া, তাই আমরা এটি বিস্তারিতভাবে কভার করব না। অন্তত এখনকার জন্য. এখানেই শেষ.

ম্যানেজমেন্ট টাস্ক সেট করেছে: এটি আপ টু ডেট রাখা দরকার ফ্ল্যাশ প্লেয়ার. স্কেল: ~15,000 কম্পিউটার, যার অর্ধেক আসলে FP প্রয়োজন।

দেখে মনে হবে সমস্যাটা কী - আমরা একটি ডোমেন নীতি তৈরি করি, MSI প্যাকেজে পুশ করি এবং আনন্দ করি... কিন্তু ব্যাপারটা তা নয়! কোম্পানির কাঠামো অত্যন্ত বিতরণ করা হয়, যেমন 20 কম্পিউটারে 1 Mbps এর চ্যানেল সহ দূরবর্তী অবস্থানে, রাজনীতিবিদদের দ্বারা এমনকি 15 Mb ঠেলে দেওয়া ইতিমধ্যে একটি সমস্যা - সকালে কর্মীরা কম্পিউটার চালু করে এবং সবকিছু ডাউনলোড এবং ইনস্টল না হওয়া পর্যন্ত এটি লোড হওয়ার জন্য আধা ঘন্টা অপেক্ষা করে (বা একটি সময়সীমার কারণে কেবল পড়ে যায়)। উল্লেখ করার মতো নয় যে এই ধরনের অফিসের কম্পিউটারগুলিতে পর্যায়ক্রমে ডোমেনের বাইরে পড়ার অপ্রীতিকর সম্পত্তি রয়েছে।

আমাদের আরও একটি সমাধান দরকার ছিল যা নীতি নির্বিশেষে কাজ করবে, ব্যবহারকারীকে কোনোভাবে চাপ দেবে না এবং চ্যানেলটি ন্যূনতমভাবে ব্যবহার করবে (অন্তত যাতে সবাই একই সময়ে ডাউনলোড না করে)। স্ক্রিপ্ট সহ বিকল্পগুলিও সুস্পষ্ট কারণে উপযুক্ত ছিল না।

গুগল যথারীতি উদ্ধারে এসেছিল: দেখা গেল যে আপনি একটি অভ্যন্তরীণ আপডেট সার্ভার ইনস্টল করতে পারেন এবং এতে অন্তর্নির্মিত এফপি আপডেটারটি কনফিগার করতে পারেন। এই ক্ষেত্রে, আপনাকে শুধুমাত্র ক্লায়েন্টদের কাছে সেটিংস ফাইল বিতরণ করতে হবে। কাটা অধীনে বিস্তারিত.

একটি আপডেট সার্ভার সেট আপ করা হচ্ছে

1. আমরা পেতে লাইসেন্স চুক্তি

Adobe এর সফ্টওয়্যার বিতরণ করার জন্য একটি লাইসেন্স চুক্তির প্রয়োজন৷ আসুন ব্যবহারের শর্তাবলী লঙ্ঘন না করি এবং লাইসেন্স পান (সৌভাগ্যক্রমে, এটি মোটেও কঠিন নয়): ফ্ল্যাশপ্লেয়ার: অ্যাডোব রানটাইমস / রিডার ডিস্ট্রিবিউশন লাইসেন্স চুক্তি। লাইসেন্সটি এক বছরের জন্য জারি করা হয়। মেয়াদ শেষ হওয়ার পরে, আপনি আবার অনুরোধ পাঠাতে পারেন।

2. ওয়েব সার্ভার উত্থাপন

প্ল্যাটফর্ম কোন ব্যাপার না; আমার ক্ষেত্রে, আমি Win2012 এর অধীনে IIS-এ Nth সাইট চালাই। এই সার্ভারের জন্য ~3000টি কম্পিউটার ইতিমধ্যেই কনফিগার করা থাকলেও এটি কার্যত কোনো সম্পদ গ্রহণ করে না।

সার্ভার সেটিংস:

  • পোর্ট 80, 443 (যথাক্রমে http, https) মাধ্যমে অ্যাক্সেস।
    প্রথমটি প্রয়োজন, প্রকৃতপক্ষে, ডাউনলোড করার জন্য, দ্বিতীয় এফপিটি বর্তমান সংস্করণের XML সংস্করণের জন্য যাবে৷
  • বৈধ https শংসাপত্র।
    আমি কর্পোরেট রুট একের উপর ভিত্তি করে একটি শংসাপত্র জারি করেছি, যা ডিফল্টরূপে সমস্ত মেশিনে উপস্থিত রয়েছে।
  • ডিরেক্টরি তালিকা.
    আমি এটি ছাড়া কাজটি পরীক্ষা করিনি - ডকুমেন্টেশন জিজ্ঞাসা করে, আমি এটি লিখিত হিসাবে করার সিদ্ধান্ত নিয়েছি।
আমি সার্ভার সেট আপ সম্পর্কে বিস্তারিত যেতে হবে না.

স্বচ্ছতার জন্য, আসুন FlashPlayerUpdate.domain.local সার্ভারটিকে কল করি।

3. সম্পদ ডাউনলোড করুন এবং সার্ভারে আপলোড করুন

আমরা ওয়েব সার্ভারের রুটে একটি ডিরেক্টরি ট্রি তৈরি করি: /pub/flashplayer/update/current/sau/।

আমার সার্ভারে ডিরেক্টরি গাছ:

আপনি যদি প্রথম ধাপে লাইসেন্সের জন্য অনুরোধ করেন, তবে প্রতিক্রিয়া হিসাবে আপনাকে ফ্ল্যাশপ্লেয়ার ডাউনলোড করার লিঙ্ক সহ একটি চিঠি পাওয়া উচিত - এই লিঙ্কটি অনুসরণ করুন। আপনি যদি এটি না পেয়ে থাকেন বা এটির অনুরোধ না করে থাকেন, তাহলে এখানে যান: https://www.adobe.com/products/flashplayer/distribution3.html এবং লিঙ্ক থেকে আর্কাইভটি ডাউনলোড করুন " ব্যাকগ্রাউন্ড আপডেট রিসোর্স ডাউনলোড করুন":

বর্ধিত সমর্থন রিলিজ বা পাবলিক রিলিজ

এখানে একটি মন্তব্য করা প্রয়োজন. পৃষ্ঠায় 2টি ডাউনলোড বিকল্প রয়েছে: স্ট্যান্ডার্ড (পাবলিক) এবং এক্সটেন্ডেড সাপোর্ট রিলিজ। আমার ক্ষেত্রে, স্থিতিশীলতা গুরুত্বপূর্ণ এবং নতুন বৈশিষ্ট্যগুলির প্রয়োজন নেই, তাই ESR বিকল্পটি বেছে নেওয়া হয়েছিল। একই সময়ে, আমি নিজের সাথে একটি নির্দিষ্ট পরিমাণ অর্শ্বরোগ যোগ করেছি: সর্বজনীন সংস্করণটি ম্যাক্রোমিডিয়া ওয়েবসাইট থেকে স্ক্রিপ্ট দ্বারা সরাসরি ডাউনলোড করা যেতে পারে। কিভাবে ESR ডাউনলোড করতে হয় তা আমি এখনও গুগল করিনি, তাই আমার ক্ষেত্রে অভ্যন্তরীণ সার্ভারের বিষয়বস্তু আপডেট করা হয়েছে ম্যানুয়াল মোডে.

নিবন্ধের শেষে আমি 2টি পাওয়ারশেল স্ক্রিপ্ট সংযুক্ত করেছি: জন্য স্বয়ংক্রিয় আপডেট(শুধুমাত্র স্ট্যান্ডার্ড সংস্করণের জন্য; সহজেই ব্যাশে পোর্ট করা হয়েছে), আপডেটের জন্য চেক করতে এবং ই-মেইলের মাধ্যমে অবহিত করতে (ইএসআর সহ যেকোনো সংস্করণের জন্য)।


সার্ভারে /pub/flashplayer/update/current/sau/ ফোল্ডারে ডাউনলোড করা আর্কাইভটি আনপ্যাক করুন।

4. ক্লায়েন্টদের কাছে কনফিগারেশন ফাইল বিতরণ করা হচ্ছে

সিস্টেম ক্ষমতা উপর নির্ভর করে:

  • 32-বিট: C:\Windows\ সিস্টেম32\Macromed\Flash\mms.cfg
  • 64-বিট: C:\Windows\ SysWOW64\Macromed\Flash\mms.cfg
আপনি যে কোনো উপায়ে এটি বিতরণ করতে পারেন. আমি ডোমেন নীতি এবং একটি অ্যান্টিভাইরাস প্রশাসন সার্ভারের সংমিশ্রণ ব্যবহার করেছি (ডোমেন ছেড়ে যাওয়া কম্পিউটারগুলির জন্য)।

ফাইলটিতে, আমরা নীরব স্বয়ংক্রিয়-আপডেট সক্ষম করি, আপডেটের ব্যবধান (দিনের মধ্যে), আমাদের সার্ভারে যাওয়ার পথ নির্দিষ্ট করি এবং যদি সমস্যাগুলি দেখা দেয় তবে এটি নির্ণয় করা সহজ করার জন্য লগিং করে:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
যদি সবকিছু সঠিকভাবে করা হয় তবে ক্লায়েন্ট মেশিনে ফ্ল্যাশ প্লেয়ার একটি সময়সূচী অনুসারে আপডেট করা শুরু করা উচিত (উপরের ফাইল অনুসারে - প্রতি 2 দিনে একবার)। সাধারণত, Adobe আপডেট পরিষেবাটি আপডেটের শর্তগুলি পরীক্ষা করতে ঘন্টায় একবার চলে - এই সময়ে আপডেটারকে কনফিগারেশন ফাইলটি দেখতে হবে, নির্দিষ্ট সেটিংস অনুসারে আপডেটগুলি পুনরায় কনফিগার করতে হবে এবং এখানে যান নতুন সার্ভারসংস্করণ চেক করুন।

অর্থাৎ, কনফিগারেশন ফাইলটি বিতরণ করার প্রায় এক ঘন্টা পরে, আপনি সংস্করণটি পরীক্ষা করার অনুরোধগুলির জন্য সার্ভারে লগগুলি দেখতে পারেন।

অটোমেশন

আইটি ভ্রাতৃত্বের ক্লাসিক প্রতিনিধি হিসাবে, আমি রুটিন ম্যানুয়াল কাজকে ঘৃণা করি এবং যাচাইকরণ এবং ডাউনলোড প্রক্রিয়া স্বয়ংক্রিয়ভাবে সাহায্য করতে পারি না নতুন সংস্করণ. যাইহোক, উপরে উল্লিখিত হিসাবে, আমি এখনও Macromedia ওয়েবসাইট থেকে ESR সংস্করণগুলি ডাউনলোড করার উপায় খুঁজে পাইনি, তাই আমি শুধুমাত্র আপডেটগুলি পরীক্ষা করার জন্য স্ক্রিপ্টটি ব্যবহার করি। পরামর্শ স্বাগত জানাই.
স্বয়ংক্রিয়ভাবে আপডেট ডাউনলোড করার জন্য স্ক্রিপ্ট
শুধুমাত্র পাবলিক সংস্করণের জন্য!

ক্রিয়াকলাপের যুক্তি: স্ক্রিপ্টটি নির্বোধভাবে 11,15,16,17,18,19 সংস্করণের জন্য ম্যাক্রোমিডিয়া থেকে সরাসরি আপডেট ফাইলগুলি ডাউনলোড করে (যদি কিছু সংস্করণ ইতিমধ্যে সাইট থেকে সরানো হয়ে থাকে তবে স্ক্রিপ্টটি কেবল শপথ করবে যে এটি ডাউনলোড করতে পারেনি এবং করবে এটি এড়িয়ে যান) এবং এটি একটি আপডেট সার্ভারের সাথে প্রতিস্থাপনের সাথে রাখে। কোনো সংস্করণ পরীক্ষা করা হচ্ছে না। পরীক্ষার পর্যায়ে, আমি এই স্ক্রিপ্টটি ব্যবহার করেছি: আমি রাতে সার্ভারে শিডিউলারের মাধ্যমে এটি চালিয়েছি।

আপনি যদি চান, আপনি এই স্ক্রিপ্টটি এবং পরবর্তী স্ক্রিপ্টটি অতিক্রম করতে পারেন এবং সংস্করণ চেকিং, বিজ্ঞপ্তি এবং আপডেট থাকলেই ডাউনলোড সহ সম্পূর্ণ অটোমেশন পেতে পারেন।

স্ক্রিপ্ট পরামিতি:

  • *FPROot- আপডেট সার্ভারের রুট ফোল্ডারের পথ। স্থানীয় বা নেটওয়ার্ক। স্বাভাবিকভাবেই, যে ব্যবহারকারীর কাছ থেকে স্ক্রিপ্টটি চালু করা হবে তার অবশ্যই এই ফোল্ডারে লেখার অধিকার থাকতে হবে।
  • FPDownloadRoot- Macromedia ওয়েবসাইটের পথ। এটি ডিফল্টরূপে সেট করা থাকে, তবে প্রয়োজনে পরিবর্তন করা যেতে পারে।
  • প্রক্সি ডাউনলোড করুন http:// proxy.domain.local.
  • প্রক্সি ক্রেডিট
  • ব্যবহারিক দূত
  • বল
* - প্রয়োজনীয় পরামিতি

ব্যবহারের উদাহরণ:

Powershell.exe -command "& ".\FPUpdater.ps1" -FPROot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -DownloadProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName "-UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) যেমন Gecko""
সমস্ত পরামিতি একটি স্ক্রিপ্টে হার্ডকোড করা যেতে পারে যদি দীর্ঘ স্টার্টআপ লাইনগুলি ভয় দেখায়।

আপডেট চেক করার জন্য স্ক্রিপ্ট এবং ই-মেইল দ্বারা বিজ্ঞপ্তি
আপডেটগুলি স্ট্যান্ডার্ড সংস্করণ অনুসারে চেক করা হয়, কিন্তু যেহেতু সেগুলি একই সময়ে আপডেট করা হয় (কেউ নিরাপত্তা সংশোধনগুলি বাতিল করেনি), এটি ESR-এর জন্যও কাজ করবে। স্ক্রিপ্টটি কাজ করার জন্য, আপনাকে ওয়েব সার্ভারের রুটে (পাব ফোল্ডারের পাশে) একটি কারেন্ট পাবলিক ফাইল তৈরি করতে হবে, যেখানে আপনি বর্তমান পাবলিক সংস্করণটি লিখবেন ActiveX এর জন্য(এটি ActiveX সংস্করণ যা চেক করার জন্য ব্যবহৃত হয়)।

অপারেটিং লজিক: স্ক্রিপ্ট আপনার সার্ভার থেকে CurrentPublic ফাইল থেকে প্রাপ্ত সংস্করণটিকে Macromedia সার্ভারের সংস্করণের সাথে তুলনা করে। এটি স্বয়ংক্রিয়-আপডেটের যুক্তি অনুসারে সার্ভারে সংস্করণটি দেখে: প্রথমে এটি XML-এ বর্তমান প্রধান বিল্ডটি সন্ধান করে, প্রধানটির সাথে ফোল্ডারে যায় এবং সেখানে সম্পূর্ণ বিল্ডটি দেখে।

স্ক্রিপ্ট পরামিতি:

  • *FPIntServerRoot- আমাদের সার্ভার ঠিকানা. যেমন: FlashPlayerUpdate.domain.local
  • FPDownloadRoot- ম্যাক্রোমিডিয়া ওয়েবসাইটের পথ। এটি ডিফল্টরূপে সেট করা থাকে, তবে প্রয়োজনে পরিবর্তন করা যেতে পারে।
  • ইএসআর- ESR সংস্করণ পরীক্ষা করুন (এই পতাকা ছাড়া এটি সর্বজনীন সংস্করণ পরীক্ষা করবে)।
  • প্রক্সি ডাউনলোড করুন- প্রক্সি সার্ভার, যদি একটি কোম্পানিতে ব্যবহার করা হয়। সম্পূর্ণ লিখুন: http:// proxy.domain.local.
  • প্রক্সি ক্রেডিট- প্রক্সিতে অনুমোদনের জন্য ব্যবহারকারীর নাম।
  • ব্যবহারিক দূত- ব্যবহারকারী এজেন্ট পরিবর্তন করতে যা দিয়ে PowerShell ডাউনলোড করবে। উদাহরণস্বরূপ, আমাদের প্রক্সি UserAgents দ্বারা সীমাবদ্ধ, আমি ইন্টারনেট এক্সপ্লোরার এজেন্ট ব্যবহার করি।
  • বল- Invoke-Webrequest cmdlet-এর জন্য শংসাপত্র পরীক্ষা অক্ষম করুন (আরও স্পষ্টভাবে, এটি সমস্ত শংসাপত্রে বিশ্বাস করুন)।
  • *MailTo- ই-মেইল ঠিকানা যেখানে বিজ্ঞপ্তি পাঠানো হবে।
  • *মেইল থেকে- কার কাছ থেকে বিজ্ঞপ্তি আসবে। উদাহরণ স্বরূপ: [ইমেল সুরক্ষিত]
  • SmtpServer- smtp সার্ভার যার মাধ্যমে বার্তা পাঠানো হবে।
* - প্রয়োজনীয় পরামিতি

ব্যবহারের উদাহরণ:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo " [ইমেল সুরক্ষিত]","[ইমেল সুরক্ষিত]"-মেইল থেকে" [ইমেল সুরক্ষিত]"-SmtpServer "smtp.company.com"

ব্যবহৃত সম্পদ

ইউপিডি

06/17/16 থেকে সামান্য বিলম্বিত আপডেট।

এই নিবন্ধটি লেখার পর থেকে, Adobe FlashPlayer ডাউনলোড পৃষ্ঠায় অ্যাক্সেসের ক্রম দুইবার পরিবর্তন করতে পেরেছে। ফলস্বরূপ, এখন ডাউনলোড পৃষ্ঠা অ্যাক্সেস করতে, আপনাকে প্রথমে অ্যাডোব আইডিতে লগ ইন করতে হবে। অর্থাৎ, এর বিকল্প ESR সংস্করণের জন্য পৃষ্ঠাটি পার্স করা আর রোল উপলব্ধ নেই।

আমি এখনও পাওয়ারশেলের মাধ্যমে অনুমোদন বা কুকিজ গ্রহণ এবং পাঠানো নিয়ে বিরক্ত হইনি। ফলস্বরূপ, আমি distribution3 পৃষ্ঠায় ESR চেক করার জন্য স্ক্রিপ্টটি পুনরায় তৈরি করেছি, যা যেকোনো মুহূর্তে অদৃশ্য হয়ে যেতে পারে। এই পর্যন্ত, আমরা আরও দেখতে হবে.

বছরের শুরুতে, আমি Adobe ফোরামে ESR সংস্করণের আপডেটগুলি পরীক্ষা করার বিষয়ে একটি প্রশ্ন জিজ্ঞাসা করেছি। তারা কিছু নিয়ে আসার প্রতিশ্রুতি দেয়, তবে এখনও পর্যন্ত সমস্যাটি রয়েছে।

UPD2

অন্য দিন, নিম্নলিখিত তথ্য ফ্ল্যাশ প্লেয়ার বিতরণ পৃষ্ঠায় উপস্থিত হয়েছিল (আপনি যখন একটি বিতরণ লাইসেন্স পেয়েছিলেন তখন আপনি যে লিঙ্কটি পেয়েছিলেন):

মনোযোগ! এক্সটেন্ডেড সাপোর্ট রিলিজের সাথে গুরুত্বপূর্ণ পরিবর্তন

এক্সটেন্ডেড সাপোর্ট রিলিজটি মূলত আইটি অ্যাডমিনিস্ট্রেটরদের ফ্ল্যাশ প্লেয়ারের প্রতিটি নতুন রিলিজকে প্রত্যয়িত করার জন্য ব্যয় করা সময় কমানোর জন্য ডিজাইন করা হয়েছিল: এক্সটেন্ডেড সাপোর্ট রিলিজ সীমিত রিলিজ নিরাপত্তা পরিবর্তনে পরিবর্তন করে এবং গুরুত্বপূর্ণ কার্যকরী সমস্যার সমাধান করে। সেই সময়ে, ফ্ল্যাশ প্লেয়ারের প্রতিটি রিলিজে নিরাপত্তা পরিবর্তনের চেয়ে অনেক বেশি কার্যকরী পরিবর্তন ছিল। যাইহোক, পরিস্থিতি এখন পরিবর্তিত হয়েছে: সক্রিয় এবং প্রতিক্রিয়াশীল নিরাপত্তা ব্যবস্থার সংখ্যা কার্যকরী পরিবর্তনের চেয়ে অনেক বেশি। বাস্তবে, এক্সটেন্ডেড সাপোর্ট রিলিজ আর আইটি সংস্থাগুলিকে রক্ষা করে না বিপুল পরিমাণফ্ল্যাশ প্লেয়ারের স্ট্যান্ডার্ড রিলিজে পরিবর্তন করা হয়েছে, কিন্তু শুধুমাত্র কার্যকরী ঝুঁকি কমায়। এই বিষয়ে, এক্সটেন্ডেড সাপোর্ট রিলিজ বন্ধ করার এবং শুধুমাত্র স্ট্যান্ডার্ড রিলিজ তৈরিতে মনোনিবেশ করার সিদ্ধান্ত নেওয়া হয়েছে। ট্যাগ যুক্ত

শেষ নিবন্ধটি অ্যানিমেশন নিবেদিত ছিল. আমরা মোশন টুইনিং, শেপ টুইনিং, এবং স্বতন্ত্র ফ্রেম থেকে সহজভাবে আন্দোলন রচনা করার উপর ভিত্তি করে অ্যানিমেশন তৈরি করেছি। আমি মনে করি এটি একটি আরও উন্নত বিষয়ের দিকে যাওয়ার সময়, সেই টুলটির দিকে তাকিয়ে যা বেশিরভাগ মানের ফ্ল্যাশ চলচ্চিত্রগুলির জন্য ভিত্তি তৈরি করে৷

এই টুলটি হল অ্যাকশনস্ক্রিপ্ট, ফ্ল্যাশে নির্মিত একটি ইভেন্ট-চালিত ভাষা। সর্বশেষ সংস্করণঅ্যাকশনস্ক্রিপ্ট (যা ফ্ল্যাশ 5-এ উপস্থিত) অ্যাকশনস্ক্রিপ্ট থেকে উল্লেখযোগ্যভাবে আলাদা, যা ফ্ল্যাশ 4-এ ছিল। যদি পূর্ববর্তী সংস্করণে এটি কমান্ডের একটি সীমিত সেট ছিল, যা শুধুমাত্র মৌলিক ক্রিয়াকলাপের অনুমতি দেয় এবং খুব বেশি ব্যবহারকারী-বান্ধব নয় এমন ইন্টারফেস ব্যবহার করে প্রবেশ করা হয়, তাহলে নতুন অ্যাকশনস্ক্রিপ্ট একটি শক্তিশালী ভাষা, যেখানে কমান্ডের একটি বর্ধিত সেট, ক্লাসের জন্য সমর্থন, উত্তরাধিকার। (!), এবং অনেক বেশি সুবিধাজনক ইন্টারফেস।

অ্যাকশনস্ক্রিপ্ট আপনার পৃষ্ঠাগুলিকে ইন্টারেক্টিভ করে তোলে। আপনি মাউস বা কীবোর্ড থেকে ইভেন্টগুলিতে প্রতিক্রিয়া জানাতে পারেন এবং একটি নির্দিষ্ট ফ্রেম বাজানোর সময় আপনি যে কোনও ক্রিয়া সম্পাদন করতে পারেন।

অ্যাকশনস্ক্রিপ্ট সম্পূর্ণরূপে আয়ত্ত করার জন্য, ইতিমধ্যেই প্রোগ্রামিং অভিজ্ঞতা থাকা বাঞ্ছনীয় (বিশেষত C++, জাভাস্ক্রিপ্ট, ইত্যাদি)। যাইহোক, ফ্ল্যাশ ল্যাঙ্গুয়েজের একটি সুবিধা হল যে এটিতে মানসম্পন্ন কোড লেখার জন্য আপনাকে ফ্ল্যাশ প্রো হতে হবে না বা অ্যাকশনস্ক্রিপ্টের সাথে সম্পূর্ণ পরিচিত হতে হবে না। আপনি আপনার কাজের জন্য প্রয়োজনীয় ভাষা বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন।

যেহেতু এই নিবন্ধটি ভাষার মূল বিষয়গুলি সম্পর্কে, এতে আমরা কভার করব:

  • অ্যাকশন প্যানেল হল যেখানে অ্যাকশনস্ক্রিপ্টের সাথে প্রায় সমস্ত যোগাযোগ ঘটে।
  • বোতামগুলি - কীভাবে সেগুলিকে আমাদের প্রয়োজন অনুসারে কাজ করা যায়।
  • পথ - কিভাবে প্রয়োজনীয় বস্তু অ্যাক্সেস করতে?
  • ফ্ল্যাশ কার্টুন (মুভির ক্লিপ) সহ প্রাথমিক ক্রিয়াকলাপ - আমরা আমাদের ইচ্ছামতো মুভি চালানোর প্রক্রিয়া নিয়ন্ত্রণ করব।
  • অ্যাকশনস্ক্রিপ্টে ডিবাগিং - আউটপুট এবং ডিবাগার উইন্ডোজ।

এই নিবন্ধটির উদ্দেশ্য হল আপনাকে অ্যাকশনস্ক্রিপ্ট সম্পর্কে একটি অনুভূতি দেওয়া, এটি দেখানোর জন্য যে এই ভাষাটি খুব চিত্তাকর্ষক প্রোগ্রাম তৈরি করতে এবং মৌলিক ক্রিয়া সম্পাদনের জন্য উভয়ই ব্যবহার করা যেতে পারে যা আপনার পৃষ্ঠাটিকে আরও আকর্ষণীয় করে তুলবে৷

শর্তাবলী

আমরা নির্দিষ্ট অ্যাকশনে যাওয়ার আগে, কয়েকটি অ্যাকশনস্ক্রিপ্ট শর্তাবলী:

  • কর্ম- এগুলি নির্দেশাবলী যা ফ্ল্যাশ কার্টুনকে কী করতে হবে তা বলে৷ তাদের থেকে ভাষার নাম আসে - অ্যাকশনস্ক্রিপ্ট (আক্ষরিক অর্থে - অ্যাকশন স্ক্রিপ্ট)। আসুন সম্মত হই যে এই নিবন্ধের কাঠামোর মধ্যে, আমরা "নির্দেশনা" শব্দটি ব্যবহার করব যাতে আমরা যে বাস্তব ক্রিয়াগুলি সম্পাদন করব তার সাথে বিভ্রান্ত না হয়।
  • ঘটনা- কার্টুন খেলার সময় এইগুলি ঘটে। উদাহরণস্বরূপ, ইভেন্টগুলি ঘটতে পারে যখন একটি নির্দিষ্ট ফ্রেমের লোডিং শেষ হয়, যখন আমরা একটি নির্দিষ্ট ফ্রেমে পৌঁছায়, যখন ব্যবহারকারী কীবোর্ডে একটি কী টিপে বা মাউস কার্সার আমাদের বস্তুর উপর থাকে।
  • অভিব্যক্তিএকটি নির্দেশের কোনো অংশ যা একটি মান তৈরি করে। নিম্নলিখিত উদাহরণগুলি অভিব্যক্তি: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * এলোমেলো(10).
  • ফাংশনকোডের একটি ব্লক যা পুনরায় ব্যবহার করা যেতে পারে। আপনি একটি ফাংশনে মান পাস করতে পারেন এবং এটি থেকে একটি রিটার্ন ফলাফল পেতে পারেন। উদাহরণ স্বরূপ, সংখ্যা = get_color(15, 24). 15 এবং 24 হল get_color ফাংশনের আর্গুমেন্ট (বা প্যারামিটার), যার রিটার্ন মান সংখ্যা ভেরিয়েবলে লেখা হয়।
  • ক্লাসবস্তুর প্রকার। উদাহরণস্বরূপ, গাছের শ্রেণী হল উদ্ভিদ। ফ্ল্যাশের অনেকগুলি পূর্বনির্ধারিত ক্লাস রয়েছে (অনেকটা জাভাস্ক্রিপ্ট ক্লাসের মতো)। আপনি আপনার নিজস্ব ক্লাস তৈরি করতে পারেন বা বিদ্যমানগুলি সংশোধন করতে পারেন।
  • দৃষ্টান্তআক্ষরিক অর্থে নির্দিষ্ট শ্রেণীর উদাহরণ। উদাহরণস্বরূপ, একটি উদ্ভিদ উদাহরণ একটি গাছ, গুল্ম, বা ফুল হতে পারে। একটি উদাহরণ ইতিমধ্যে একটি নির্দিষ্ট বাস্তব বস্তু. যদি একটি শ্রেণী একটি বস্তুর (উদাহরণ) একটি সংজ্ঞা হয়, তাহলে একটি দৃষ্টান্ত ইতিমধ্যেই একটি কংক্রিট মূর্ত রূপ, এটি কর্মের একটি শ্রেণী। প্রতিটি উদাহরণকে একটি নাম দেওয়া যেতে পারে যাতে এটির মাধ্যমে বস্তুর ফাংশন বা ভেরিয়েবলগুলি অ্যাক্সেস করা যায়।
  • হ্যান্ডলারবিশেষ নির্দেশাবলী যা ইভেন্ট প্রক্রিয়া করে। উদাহরণ স্বরূপ onClipEvent- একটি নির্দিষ্ট প্রতীকের সাথে যুক্ত কর্মের জন্য একটি হ্যান্ডলার (দেখুন)।
  • অপারেটরভাষা উপাদান যা এক বা একাধিক আর্গুমেন্টের উপর ভিত্তি করে মান গণনা করে। উদাহরণস্বরূপ, সংযোজন অপারেটর (+) এর বাম এবং ডানে দুটি মানের যোগফল প্রদান করে।
  • ভেরিয়েবলশনাক্তকারী যা মান সংরক্ষণ করতে পারে। যেমন, a = 5; অথবা নাম = "মাইকেল"।

অ্যাকশনস্ক্রিপ্ট নিয়ে আলোচনা করার সময় আমরা এই পদগুলি ব্যবহার করব। তাই…

অ্যাকশন প্যানেল

অ্যাকশন বারটি অ্যাকশনস্ক্রিপ্ট প্রোগ্রামগুলি প্রদর্শন এবং প্রবেশ করতে ব্যবহৃত হয় (চিত্র 1)। প্যানেলের সাথে অপারেশনের দুটি মোড রয়েছে - স্বাভাবিক (ডামিগুলির জন্য) এবং বিশেষজ্ঞ। বিশেষজ্ঞ মোডে, কমান্ডের তালিকা একটি সাধারণ পাঠ্য ইনপুট ক্ষেত্র। সাধারণ মোডে, আমরা সরাসরি কমান্ড সম্পাদনা করতে পারি না। এটি করতে, বিকল্প প্যানেল ব্যবহার করুন।

আপনি "+" বোতামে ক্লিক করে (চিত্র 1 দেখুন) বা ভাষার উপাদানগুলির তালিকায় উপযুক্ত নির্দেশ নির্বাচন করে একটি নির্দেশ যোগ করতে পারেন। উপরন্তু, ফ্ল্যাশে সমস্ত অ্যাকশনের জন্য মূল ক্রম রয়েছে যা এটি আরও দ্রুত করতে ব্যবহার করা যেতে পারে। তারা "+" বোতাম মেনুতে প্রতিটি কর্মের ডানদিকে দেখানো হয়। উদাহরণস্বরূপ, একটি ফাংশন যোগ করার জন্য থামান(), আপনাকে Esc+st চাপতে হবে (ক্রমানুসারে: Esc, তারপর "s", তারপর "t")।

আপনি একটি নির্দেশ মুছে ফেলতে পারেন এটি নির্বাচন করে এবং "-" বোতাম টিপে (বা কেবল মুছুন কী)।

আমি সুপারিশ করছি যে আপনি অবিলম্বে বিশেষজ্ঞ মোড ব্যবহার করা শুরু করবেন না যদি আপনার জাভা-এর মতো ভাষায় (C++, Java, JavaScript) প্রোগ্রামিং করার অভিজ্ঞতা না থাকে। সাধারণ মোডের একটি দুর্দান্ত সুবিধা রয়েছে যা এটিকে নতুনদের জন্য অপরিহার্য করে তোলে - ভাষার সিনট্যাক্সের সাথে ভুল করার সম্ভাবনা অনেক কম। এটি নতুনদের দ্রুত অ্যাকশনস্ক্রিপ্টের জটিলতা বুঝতে সাহায্য করবে।


ভাত। 1 - অ্যাকশন বার

অ্যাকশন প্যানেল বর্তমানে নির্বাচিত বস্তু বা ফ্রেমের ক্রিয়া প্রদর্শন করে।

বোতাম

আপনি যখন ফ্ল্যাশ ইন্টারঅ্যাক্টিভিটি শিখতে শুরু করেন তখন আপনি প্রথম যে জিনিসটি চান তা হল এমন কিছু তৈরি করা যা ব্যবহারকারীর ক্রিয়াকলাপে সাড়া দেয়, আপনার সৃষ্টিকে "পুনরুজ্জীবিত" করতে, যোগ করতে প্রতিক্রিয়া. এটি করার সবচেয়ে সহজ উপায় হল বোতাম দিয়ে। অতএব, আমরা তাদের সাথে শুরু করব।

আপনি জানেন যে, ফ্ল্যাশে বোতাম তৈরির জন্য একটি বিশেষ ধরণের প্রতীক রয়েছে - বোতাম (দেখুন)। ধরুন আপনি ইতিমধ্যে বোতাম তৈরি করতে শিখেছেন, এখন আসুন এই বোতামগুলিতে ক্লিকগুলি কীভাবে ট্র্যাক করতে হয় তা শিখি।

ম্যাক্রোমিডিয়া ফ্ল্যাশের বোতামগুলিতে ইভেন্টগুলির একটি বিস্তৃত তালিকা রয়েছে যা আমরা প্রতিক্রিয়া জানাতে পারি:

  • প্রেস- যখন কার্সার বোতামের মধ্যে থাকে তখন মাউস বোতাম চাপা হয়;
  • মুক্তি- কার্সার বোতামের মধ্যে থাকলে মাউস বোতামটি মুক্তি পায়;
  • মুক্তি- কার্সার বোতামের বাইরে থাকলে মাউস বোতামটি মুক্তি পায়;
  • রোলওভার- মাউস কার্সার বোতামে প্রবেশ করে;
  • রোলআউট- কার্সার বোতাম ছাড়িয়ে যায়;
  • ড্র্যাগওভার- কার্সারটি বোতামের সীমার মধ্যে প্রবেশ করে, যখন বোতাম টিপানো হয়েছিল এবং মাউস কী চাপানো হয়েছিল;
  • বাইরে টেনে- কার্সারটি বোতামের বাইরে চলে যায়, যখন বোতাম টিপানো হয়েছিল এবং মাউস কী টিপেছিল;
  • কী প্রেস("কী") - একটি "কী" চাপা হয়েছে। আপনি ফ্ল্যাশ সাহায্যে (কী অবজেক্ট) কীগুলির একটি তালিকা দেখতে পারেন, বা পছন্দসই কী প্রবেশ করতে বিকল্প বার ব্যবহার করতে পারেন।

দুর্ভাগ্যবশত, ফ্ল্যাশ শুধুমাত্র বাম মাউস বোতামটি "বুঝে"। প্রসঙ্গ মেনুতে কল করার জন্য ডানটি ব্যবহার করা হয় (কিছু ফ্ল্যাশ কার্টুনে ডান-ক্লিক করুন)। আমি এখনও ফ্ল্যাশে মধ্যম কী বা মাউস হুইল ধরার কোনো উপায় খুঁজে পাইনি; আমি মনে করি না যে তারা বিদ্যমান।

এই ইভেন্টগুলি নির্দেশিকা ব্যবহার করে বাধা দেওয়া হয় চালু(). এর সিনট্যাক্স হল:

অন ​​(ইভেন্ট) (... // আমাদের কর্ম)

নীচে আপনি নিজে কিছু ইভেন্ট ট্রিগার করার চেষ্টা করতে পারেন:

একটি খুব সাধারণভাবে ব্যবহৃত উদাহরণ একটি লিঙ্ক অনুসরণ করে যখন একটি বোতাম ক্লিক করা হয়:

চালু (রিলিজ) ( getURL("http://rubs.boom.ru"); )

এই দৃশ্যটি পরীক্ষা করতে, আপনার বোতাম হাইলাইট করুন, Ctrl+Alt+A টিপুন এবং প্রোগ্রামটি প্রবেশ করুন।

এইভাবে আপনি একটি বোতামের সাথে যুক্ত সমস্ত ইভেন্টকে সহজেই আটকাতে পারেন। ঠিক আছে, এগুলি কীভাবে ব্যবহার করবেন তা সম্পূর্ণরূপে আপনার কল্পনার বিষয়।

মুভি ক্লিপ সহ মৌলিক পদক্ষেপ

ফ্ল্যাশে সৃজনশীলতার একটি বিশাল পরিমাণ প্রতীক ম্যানিপুলেশন থেকে আসে। প্রায় সমস্ত মৌলিক কৌশল, সমস্ত কৌশল এবং প্রভাব এই ক্রিয়াগুলি ছাড়া অসম্ভব।

অ্যাকশনস্ক্রিপ্টের সাহায্যে, আপনি অক্ষরগুলির সাথে আপনি যা চান তা করতে পারেন। আপনাকে শুধু মনে রাখতে হবে যে এই ক্রিয়াগুলি শুধুমাত্র ব্যবহারকারীর ক্রিয়াকলাপের প্রতিক্রিয়া হিসাবে সঞ্চালিত হতে পারে, অথবা যখন একটি নির্দিষ্ট ফ্রেম টাইমলাইনে ঘটে।

তাহলে কি আমরা আছি? আমি শুধুমাত্র প্রধান (আমার মতে) টুল তালিকাভুক্ত করব। বাকিটা আপনি ভাষার উপাদানের তালিকায় বা সাহায্যে পাবেন।

মুভি ক্লিপ ফাংশন যা বলা যেতে পারে:

  • খেলা() - একটি ক্লিপ প্লেব্যাক শুরু বা পুনরায় শুরু করে;
  • থামান() - ক্লিপ প্লেব্যাক বন্ধ করে;
  • GotoAndPlay() - একটি নির্দিষ্ট ফ্রেমে (দৃশ্য) যায় এবং প্লেব্যাক চালিয়ে যায়;
  • gotoAndStop() - একটি নির্দিষ্ট ফ্রেমে (দৃশ্য) যায় এবং প্লেব্যাক বন্ধ করে।

ক্লিপগুলির বৈশিষ্ট্য (প্যারামিটার) যা পড়া/পরিবর্তন করা যেতে পারে:

  • _x, _y - ক্লিপ স্থানাঙ্ক (পিক্সেলে);
  • _xscale, _yscale - ক্লিপ স্কেল (শতাংশে), যথাক্রমে অনুভূমিকভাবে এবং উল্লম্বভাবে;
  • _প্রস্থ উচ্চতা - ক্লিপের প্রস্থ এবং উচ্চতা (পিক্সেলে);
  • _আবর্তন - ক্লিপের ঘূর্ণনের কোণ (ডিগ্রিতে);
  • _আলফা - ক্লিপের স্বচ্ছতা (শতাংশে);
  • _দৃশ্যমান - দৃশ্যমানতা।

এই সব ক্লিপ দিয়ে করা যাবে না. অন্যান্য পরামিতি ব্যবহার করুন, পরীক্ষা করুন, সৃজনশীল হন!

নাম

ক্লিপগুলি অ্যাক্সেস করার জন্য, আমাদের একটি বস্তুর নাম (উদাহরণ নাম) এবং একটি বস্তুর পথ (লক্ষ্য পথ) এর ধারণাটি বুঝতে হবে। চলুন একমত যে মুভি ক্লিপ এবং বস্তু আমাদের জন্য একই জিনিস.

বস্তুর নাম একটি নির্দিষ্ট প্রতীক উদাহরণের নাম। ধরা যাক আমাদের একটি প্রতীক থাকতে পারে - একটি গাড়ি, এবং এই প্রতীকটির উদাহরণগুলিকে "মেশিন1", "মেশিন2", "পিকআপ", "জাপোরোজেটস" বলা হবে...

একটি বস্তুর নাম দেওয়ার জন্য, আপনাকে বস্তুটি নির্বাচন করতে হবে এবং নাম কলামে ইনস্ট্যান্স প্যানেলে (উইন্ডো->প্যানেল->ইনস্ট্যান্স, Ctrl+I) অবজেক্টের নাম লিখুন (চিত্র 2) ) নাম শুধুমাত্র অক্ষর, সংখ্যা এবং আন্ডারস্কোর অক্ষর ("_") নিয়ে গঠিত হতে পারে এবং নামটি একটি সংখ্যা দিয়ে শুরু হতে পারে না।


ভাত। 2 - ইনস্ট্যান্স প্যানেল

পথ

একটি বস্তুর পথ হল বস্তুর নামের একটি রেকর্ড, শ্রেণীবিন্যাস বিবেচনা করে। আমি এটা কি ব্যাখ্যা করার চেষ্টা করব.

আপনি জানেন যে ফ্ল্যাশে, বস্তু একে অপরের মধ্যে নেস্ট করা যেতে পারে, এইভাবে একটি শ্রেণিবিন্যাস গঠন করে। সুতরাং, এই নেস্টিং শুধুমাত্র বস্তুগুলি পরিচালনার সুবিধাই দেয় না, এটি বস্তুর নামগুলির দৃশ্যমানতাও সীমিত করে। দৃশ্যমানতা তার স্তরে সীমাবদ্ধ। একটি বস্তু সরাসরি (নাম দ্বারা) কেবলমাত্র তার মধ্যে থাকা বস্তুগুলিকে অ্যাক্সেস করতে পারে যা অনুক্রমের এক স্তর নীচে।

অন্য স্তরে একটি বস্তু অ্যাক্সেস করার জন্য, আপনাকে এটির পথ জানতে হবে। তদুপরি, পথটি হয় একেবারে (হায়ারার্কির খুব উপরের স্তর থেকে) বা তুলনামূলকভাবে (বর্তমান স্তর থেকে) নির্দিষ্ট করা যেতে পারে।

পথের মধ্যে এমন বস্তু অন্তর্ভুক্ত রয়েছে যার মধ্য দিয়ে আমাদের প্রয়োজনীয় বস্তুতে পৌঁছানোর জন্য শ্রেণিবিন্যাস গাছ বরাবর "পাস" করতে হবে, একটি বিন্দুর মাধ্যমে তালিকাভুক্ত। অতিরিক্তভাবে, বেশ কয়েকটি পয়েন্টার রয়েছে (আমরা তাদের "ভার্চুয়াল অবজেক্ট" বলতে পারি) যেগুলি প্রায়শই খুব দরকারী:

এই - একটি নির্দেশক "নিজেকে" (অর্থাৎ বর্তমান বস্তুর প্রতি)। এটির প্রয়োজন হতে পারে, উদাহরণস্বরূপ, যখন আপনাকে সেই বস্তুতে একটি পয়েন্টার পাস করতে হবে যেখান থেকে এই ফাংশনটিকে একটি ফাংশনে কল করা হয়।

_পিতা - "পিতামাতার" প্রতি নির্দেশক। অনুক্রমের একটি উচ্চ স্তরে একটি বস্তুকে নির্দেশ করে।

_মূল - "মূল"। এই শ্রেণীবিন্যাস শুরু. একটি পরম পথ নির্দিষ্ট করার সময় আপনি এটি ছাড়া করতে পারবেন না।

পথ এই মত দেখায়:

leaf.play();- সাবজেক্টে পাতা(পাতা) ফাংশন বলা হয় play();

_parent.tree.leaf.stop();- এটা অনুমান করা হয় যে এক স্তরে একটি বস্তু আছে গাছ,যার একটি বস্তু আছে পাতা, যেখান থেকে ফাংশন বলা হয় স্টপ();

_root.banner._visible = মিথ্যা;- একটি ক্লিপ তৈরি করুন ব্যানার, 1ম স্তরে অবস্থিত, অদৃশ্য।



ভাত। 3 - ক্লিপগুলির অনুক্রম

দৃষ্টান্তের জন্য, আসুন 5টি বস্তুর একটি শ্রেণিবিন্যাস নেওয়া যাক (চিত্র 3)। অবজেক্ট 1-4 1ম লেয়ারে, অবজেক্ট 5 2য় লেয়ারে। অবজেক্ট 2 অবজেক্ট 1 এ নেস্ট করা হয়েছে, এবং অবজেক্ট 3 অবজেক্ট 2 এ নেস্ট করা হয়েছে। ছবির অবজেক্টগুলি একে অপরের মধ্যে দৃশ্যত নেস্ট করা হয়েছে, কিন্তু এর মানে এই নয় যে "বাস্তব জীবনে" এটি হওয়া উচিত। এখানে তারা স্বচ্ছতার জন্য গ্রুপ করা হয়. যেহেতু একটি বস্তুর নাম একটি সংখ্যা দিয়ে শুরু হতে পারে না, তাই আমাদের অবজেক্টকে বলা যাক obj1-obj5.

এখন এর পাথ সঙ্গে মোকাবিলা করা যাক. প্রথমে দেখা যাক কোন বস্তু একে অপরকে নাম দিয়ে উল্লেখ করতে পারে। obj1যোগাযোগ করতে পারেন obj2,obj2- প্রতি obj3, কিন্তু একই সময়ে obj1যোগাযোগ করতে পারে না obj3সরাসরি, কারণ এটা অন্তর্ভুক্ত করা হয় না obj1, এবং ভিতরে obj2.

ধরা যাক প্রথম অবজেক্টের ১ম ফ্রেম থেকে আবার খেলা শুরু করার জন্য অবজেক্ট 3 প্রয়োজন। এটি কীভাবে করা হয়েছে তা এখানে:

Obj2.obj3.gotoAndPlay(1);

4র্থ অবজেক্টটি 1ম অবজেক্ট (সমস্ত সাবজেক্ট সহ নোট!) আধা-স্বচ্ছ করার জন্য, এটির স্ক্রিপ্টে নিম্নলিখিতগুলি লিখতে হবে:

Parent.obj1._alpha = 50;

Root.obj1._alpha = 50;

কারণ obj4অনুক্রমের প্রথম স্তরে, তারপর এটির জন্য _মূলএবং _পিতা- একই

এখন অবজেক্ট 3 এর জন্য আমরা একটি স্ক্রিপ্ট লিখব যা মাউস বোতাম টিপলে অবজেক্ট 5 কে অদৃশ্য করে দেবে। অবজেক্ট 3 এর স্ক্রিপ্টে আমরা লিখি:

OnClipEvent (মাউসডাউন) ( _root.obj5._visible = মিথ্যা; )

এই স্নিপেটে আমরা একটি পরম পথ ব্যবহার করেছি। যদি আমরা আপেক্ষিক ব্যবহার করি তবে এটি দেখতে এরকম হবে:

Parent._parent._parent.obj5._visible = false;

আমি আশা করি আমি পথের সমস্যাটি পরিষ্কার করেছি।

উপরের উদাহরণগুলি দেখায় যে পাথগুলি কেমন দেখায় তা নয়, কীভাবে ফাংশনগুলিকে কল করা হয় এবং সম্পত্তির মানগুলি বরাদ্দ করা হয়।

বিষয়ে প্রকাশনা