كيف تقرأ قيمة إدخال النص في Flash SWF من تطبيق Flex؟

لدي تطبيق Flex ، والذي يحمِّل SWF من CS3. يحتوي ملف SWF المحمل على إدخال نص يسمى "myText". أستطيع أن أرى ذلك في SWFLoader.content دون أي مشاكل ، ولكن لا أعرف ما هو النوع الذي يجب أن أتعامل معه كما في تطبيق Flex. اعتقدت أن المستندات المكسية غطت هذا لكني لا أستطيع إلا أن أجد كيفية التفاعل مع Flex SWF آخر.

يخبرني مصحح Flex أنه من نوع fl.controls.TextInput ، وهو أمر منطقي. ولكن لا يبدو أن FlexBuilder يعرف هذا الفصل. في حين أن كلا من Flash و Flex يستخدمان AS3 ، فإن Flex لديه مكتبة جديدة بالكامل من فصول GUI. اعتقدت أن لديها أيضا جميع الفصول الدراسية فلاش ، لكنني لا أستطيع الحصول عليها لمعرفة أي حزم.

0
وأضاف تحرير
الآراء: 1

3 إجابة

إن fl. * التسلسل الهرمي للفئات هو Flash CS3-only فقط. إنها مكتبة Flash Components 3 (أعتقد أنها تسمى ، قد أكون مخطئا). ومع ذلك ، لا تحتاج إلى الفصل الدراسي للعمل مع الكائن. طالما يمكنك الحصول على إشارة إليه في التعليمات البرمجية الخاصة بك ، والتي يبدو أن لديك ، يمكنك تعيين المرجع إلى متغير untyped والعمل معها على أي حال:

var textInput : * = getTheTextInput();//insert your own method here

textInput.text = "Lorem ipsum dolor sit amet";

textInput.setSelection(4, 15);

ليست هناك حاجة لمعرفة نوع كائن للتفاعل معه. بالطبع تفقد نوع التدقيق في وقت التجميع ، لكن هذا في الحقيقة ليس مشكلة كبيرة ، عليك فقط أن تكون أكثر حذراً.

إذا كنت تريد حقًا الإشارة إلى الكائن كنوع حقيقي ، فسيتم تحديد الفئة المعنية

Adobe Flash CS3/Configuration/Component Source/ActionScript 3.0/User Interface/fl/controls/TextInput.as

... إذا كان لديك برنامج Flash CS3 مثبتًا ، نظرًا لأنه يأتي مع هذا التطبيق فقط.

0
وأضاف

إن صناديق SWF المرنة والقوية هي نفسها بشكل أساسي ، وقد تم إنشاؤها باستخدام أدوات مختلفة. لست متأكدا مما إذا كانوا يشاركون نفس مكتبات المكونات ، ولكنهم يعتمدون على أسماء الطرود التي أظن أنهم يفعلونها على الأقل.

إذا كان إدخال النص عاديًا ، فإنني أعتقد أنه مثال mx.controls.TextInput.

0
وأضاف

ضع في اعتبارك أنه إذا فعلت كما قال ثيو وأشر إليها بالنوع الصحيح ، فستقوم بتجميع تلك الفئة في كل من swfs ، حتى إذا لم تكن تستخدمها في أولهما. للأسف ، لا تنفذ الصفوف * * أية واجهات بحيث لا يمكنك كتابتها إلى الواجهة بدلاً من التنفيذ. إذا استطعت ، سيتم تجميع واجهة فقط ، وهو أصغر بكثير من التنفيذ. لهذا الأمر لن يكون مشكلة كبيرة ، فمن المحتمل أن يضيف فقط بضعة كيلوبايت ، ولكنه يضيف على المدى البعيد. مجرد رؤساء ؛)

0
وأضاف