Advertisement
  1. Code
  2. XML

بناء على تطبيق طقس AS3 مفيد مع Yahoo API

Scroll to top
Read Time: 13 min

() translation by (you can also view the original English article)

مع مساعدة من هذا البرنامج التعليمي، سوف تتعلم كيفية استخدام API الطقس ياهو للحصول على وعرض التنبؤات الجوية مع AS3.

معاينة النتيجة النهائية

دعونا نلقي نظرة على النتيجة النهائية وسوف نعمل نحو:

الخطوة 1: إنشاء ملف جديد

وأنا على افتراض عليك استخدام فلاش، على الرغم من أنه يمكنك القيام بذلك مع فليكس أو مشروع AS3 قياسي.

فتح فلاش، انتقل إلى الملف > جديدة، حدد "ملف فلاش" (اكشن 3.0)، ثم قم بتعيين الحجم ك 320x180px وحفظ رابطة العمل المنصف أينما تريد.

Weather Application Step 1Weather Application Step 1Weather Application Step 1

الخطوة 2: إنشاء فئة المستند

انتقل الآن إلى File > New، وهذه المرة اختر ملف اكشن، ثم حفظه ك Weather.as في نفس المجلد حيث الخاص بك بحفظ ملف رابطة العمل المنصف. ثم انتقل مرة أخرى إلى رابطة العمل المنصف الخاص بك، انتقل إلى خصائص وكتابة اسم ملف اكشن في الفضاء "من الدرجة الأولى". (لمزيد من المعلومات حول استخدام فئة مستند، اقرأ هذه مقدمة سريعة).

Weather Application Step 2Weather Application Step 2Weather Application Step 2Weather Application Step 2Weather Application Step 2Weather Application Step 2

الخطوة 3: إعداد فئة المستند

انتقل إلى ملف اكشن وكتابة التعليمات البرمجية لفئة المستند الخاص بك:

1
package{
2
3
  import flash.display.MovieClip;
4
5
	//the name of the class has to be the same as the file

6
	public class Weather extends MovieClip{
7
		
8
		//Constructor: this function has to have the same name as the file and class

9
		public function Weather(){
10
11
			trace("This is your weather class"):
12
13
		}
14
	}
15
}

اختبار، وأنه ينبغي أن تتبع "هذه هي weather class بك الطقس" في إطار الإخراج.

الخطوة 4: التحقق من Yahoo Weather API

الحصول على نفسك إلى المقطع Yahoo Weather API لموقع المطورين ياهو؛ هناك سوف تجد بعض الإيضاحات حول API ياهو الطقس.

Weather Application Step 4Weather Application Step 4Weather Application Step 4

الخطوة 5: اسأل ل XML الخاص بك

ما نحن بحاجة إلى قراءة في الفلاش ملف XML، حيث أننا بحاجة إلى معرفة كيف يمكن تسأل عن ذلك، وبسيط جداً. أنت بحاجة إلى التفكير where المكان الذي تريد معرفة الطقس وفي unit (مئوية أو فهرنهايت) تريد الحرارة. ثم، يمكنك الحصول على XML مع هذه البيانات من خلال عنوان URL هذا:

1
var url:String = "http://weather.yahooapis.com/forecastrss" + "?w=" + (location number) + "&u=" + ("c" for celcius or "f" for fahrenheit);

الخطوة 6: الحصول على رقم الموقع

رقم الموقع يجب أن يكون WOEID. للبحث الخاص بك ويد، تصفح أو البحث عن مدينتك من الصفحة الرئيسية Yahoo Weather. ويد في عنوان URL الخاص بصفحة تنبؤ لتلك المدينة. يمكنك أيضا الحصول ويد بإدخال الرمز البريدي الخاص بك في الصفحة الرئيسية. على سبيل المثال، إذا كنت تبحث عن لوس أنجليس الطقس في الصفحة الرئيسية، الصفحة التنبؤ لهذه المدينة: http://weather.yahoo.com/united-states/california/los-angeles-2442047/، حيث ويد هو 2442047.

الخطوة 7: فهم XML

عند طلب أي موقع الطقس، سوف تتلقى من XML مثل هذا:

1
<rss version="2.0" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
2
	<channel>
3
		<title>Yahoo! Weather - Los Angeles, CA</title>
4
		<link>http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html</link>
5
		<description>Yahoo! Weather for Los Angeles, CA</description>
6
		<language>en-us</language>
7
		<lastBuildDate>Mon, 01 Mar 2010 5:47 am PST</lastBuildDate>
8
		<ttl>60</ttl>
9
		<yweather:location city="Los Angeles" region="CA"   country="United States"/>
10
		<yweather:units temperature="C" distance="km" pressure="mb" speed="km/h"/>
11
		<yweather:wind chill="12"   direction="0"   speed="0" />
12
		<yweather:atmosphere humidity="80"  visibility="16.09"  pressure="1018.4"  rising="1" />
13
		<yweather:astronomy sunrise="6:22 am"   sunset="5:49 pm"/>
14
		<image>
15
			<title>Yahoo! Weather</title>
16
			<width>142</width>
17
			<height>18</height>
18
			<link>http://weather.yahoo.com</link>
19
			<url>http://l.yimg.com/a/i/us/nws/th/main_142b.gif</url>
20
		</image>
21
		<item>
22
			<title>Conditions for Los Angeles, CA at 5:47 am PST</title>
23
			<geo:lat>34.05</geo:lat>
24
			<geo:long>-118.25</geo:long>
25
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html</link>
26
			<pubDate>Mon, 01 Mar 2010 5:47 am PST</pubDate>
27
			<yweather:condition  text="Fair"  code="33"  temp="12"  date="Mon, 01 Mar 2010 5:47 am PST" />
28
			<description><![CDATA[>
29
			<img src="http://activetuts.s3.amazonaws.com/tuts/093_weather/Tutorial/http://l.yimg.com/a/i/us/we/52/33.gif"/><br />
30
			<b>Current Conditions:</b><br />
31
			Fair, 12 C<BR />
32
			<BR /><b>Forecast:</b><BR />
33
			Mon - Mostly Cloudy. High: 20 Low: 10<br />
34
			Tue - AM Clouds/PM Sun. High: 19 Low: 9<br />
35
			<br />
36
			<a href="http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/>
37
			(provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/>
38
			]]></description>
39
			<yweather:forecast day="Mon" date="1 Mar 2010" low="10" high="20" text="Mostly Cloudy" code="28" />
40
			<yweather:forecast day="Tue" date="2 Mar 2010" low="9" high="19" text="AM Clouds/PM Sun" code="30" />
41
			<guid isPermaLink="false">USCA0638_2010_03_01_5_47_PST</guid>
42
		</item>
43
	</channel>
44
</rss><!-- api7.weather.re4.yahoo.com compressed/chunked Mon Mar  1 06:59:00 PST 2010 -->

(إذا كنت تريد أن تفهم جميع XML، يرجى زيارة /http://developer.yahoo.com/weather).

لتطبيق هذا ما نحتاج إليه هو العلامة yweather:location، والعلامة yweather:atmosphere والعلامات yweather:forecast: علامة الموقع سوف تعطينا النص للموقع وعلامة الغلاف الجوي سوف تعطينا الرطوبة وعلامات تنبؤ سيتيح لنا درجة الحرارة الحالية وفي اليوم التالي.

خطوة 8: تحليل

الآن أن لدينا فهم أفضل لجميع تلك XML، ما نحتاج إلى القيام به تعيين البيانات إلى المتغيرات بحيث يمكننا استخدام تلك البيانات لإعداد التطبيق الخاص بنا. لذلك نحن بحاجة إلى إنشاء بعض المتغيرات وتحميل XML. هذا كيف يمكنك أن تفعل ذلك (ضع التعليمات البرمجية في الأماكن ذات الصلة في فئة المستند الخاص بك):

1
//This is going to contain all the data from the XML

2
private var _xmlData:XML;
3
//This is going to be the url of the XML that we will load

4
private var _xmlURL:String;
5
6
private function loadXML(xmlURL:String):void {
7
	var loader:URLLoader = new URLLoader();
8
	var request:URLRequest = new URLRequest(_xmlURL);
9
	
10
	loader.load(request);
11
	loader.addEventListener(Event.COMPLETE, loadData);
12
}
13
14
private function loadData(event:Event):void {
15
	_xmlData = new XML(event.currentTarget.data);
16
	
17
	var yweather:Namespace = new Namespace("http://xml.weather.yahoo.com/ns/rss/1.0");
18
	var day:String = _xmlData.channel.item.yweather::forecast[0].@day;
19
	var codeToday:String = _xmlData.channel.item.yweather::forecast[0].@code;
20
	var codeTomorrow:String = _xmlData.channel.item.yweather::forecast[1].@code;
21
}

دعونا نذهب على ذلك المقطوع من التعليمات البرمجية.

تحتاج المتغير xmlData_ إلى تعريف خارج جميع الوظائف (أنا قمت بتعريف فإنه كمتغير خاص) لأنك سوف تحتاج إلى الحصول عليه في كل مكان في التعليمات البرمجية، ليس فقط داخل دالة واحدة.

الوظيفة الأولى، ()loadXML، تحميل ملف XML في فلاش؛ نحن نستخدم وحدة إصغاء حدث للتحقق عند اكتماله، ثم قم بتشغيل ()loadData.

يعين الدالة ()loadData البيانات المتلقاة إلى المتغير xmlData_ التي أنشأناها مسبقاً. يمكننا استخدام مساحة اسم لأن ذلك هو كيف قررت ياهو لإعداد على XML (يمكنك العثور على المزيد حول مساحات الأسماء في livedocs.adobe.com). المتغيرات الأخرى في هذه الدالة استخراج المعلومات التي نريد أن تظهر في التطبيق لدينا من XML.

(AS3でXMLを解析する方法についての詳細は、Dru KeppleのAS3 : 101  -  XML tutorialを調べてください。)

الخطوة 9: إنشاء حقول النص

الآن نحن بحاجة إلى عرض تلك المعلومات. للقيام بذلك يمكن إنشاء حقول النص في التعليمات البرمجية وتعيين شكل والنص، ولكن أنا أفضل استخدام IDE فلاش، توفيرا للوقت. حتى الحصول على الإبداع، ونحن بحاجة إلى ثمانية حقول النص: الحرارة والرطوبة، ودرجة الحرارة القصوى ودرجة الحرارة الدنيا لليوم الحالي. ثم نحن بحاجة إلى أقصى درجة الحرارة ودرجة الحرارة الدنيا لليوم التالي، واحدة لاسم اليوم التالي وأكثر واحد يعرض الموقع. أنهم جميعا بحاجة إلى أن تكون حقول النص dynamic حيث أننا يمكن تعيين المعلومات.

لا تنسى أن تعطي جميع تيكستفيلدس الخاص بك أسماء المثيل؛ لقد اختار temphumiditymaxminmaxtminttomorrow وstate.

Weather Application Step 9Weather Application Step 9Weather Application Step 9

الخطوة 10: عرض المعلومات

والآن بعد أن أنشأنا حقول النص، نحن بحاجة إلى تعيين المعلومات التي نحن retreived من XML. لذلك نحن بحاجة إلى اسم مثيل لكل حقل النص والمعلومات التي لدينا بالفعل، مثل هذا (إضافة إلى الدالة ()loadData الموجودة الخاصة بك):

1
private function loadData(event:Event):void {
2
	
3
	_xmlData = new XML(event.currentTarget.data);
4
	
5
	var yweather:Namespace = new Namespace("http://xml.weather.yahoo.com/ns/rss/1.0");
6
	var day:String = _xmlData.channel.item.yweather::forecast[0].@day;
7
	var codeToday:String = _xmlData.channel.item.yweather::forecast[0].@code;
8
	var codeTomorrow:String = _xmlData.channel.item.yweather::forecast[1].@code;
9
10
	//Assigning the information to the text fields

11
	maxt.text = _xmlData.channel.item.yweather::forecast[1].@high + " °F";
12
	mint.text = _xmlData.channel.item.yweather::forecast[1].@low + " °F";
13
	state.text = _xmlData.channel.yweather::location.@city;
14
	humidity.text = _xmlData.channel.yweather::atmosphere.@humidity + " %";
15
	temp.text = _xmlData.channel.item.yweather::condition.@temp + " °F";
16
	max.text = _xmlData.channel.item.yweather::forecast[0].@high + " °F";
17
	min.text = _xmlData.channel.item.yweather::forecast[0].@low + " °F";
18
	
19
	switch (day) {
20
		case "Sun":
21
			tomorrow.text = "Monday";
22
		break;
23
		case "Mon":
24
			tomorrow.text = "Tuesday";
25
		break;
26
		case "Tue":
27
			tomorrow.text = "Wednesday";
28
		break;
29
		case "Wed":
30
			tomorrow.text = "Thursday";
31
		break;
32
		case "Thu":
33
			tomorrow.text = "Friday";
34
		break;
35
		case "Fri":
36
			tomorrow.text = "Saturday";
37
		break;
38
		case "Sat":
39
			tomorrow.text = "Sunday"
40
		break;
41
	}
42
}

تذكر حقول النص الثمانية الذي خلقنا؟ يتعين علينا الآن أن استخدام هذه الأسماء هنا في التعليمات البرمجية. أن بيان التبديل لأننا لا نريد لإظهار فقط "Wed", "Thu" أو "Fri"، نريد الاسم بالكامل.

الخطوة 11: إضافة بعض الأنماط

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

Weather Application Step 11Weather Application Step 11Weather Application Step 11

أنا باستخدام الرموز من جارماهيس ويمكن تنزيلها من garmahis.com. كبيرة بفضل جارماهيس للسماح لنا استخدامها!

الخطوة 12: إضافة الرمز

الآن لدينا لتحميل الرمز الصحيح تبعاً للتعليمات البرمجية الطقس التي لدينا في موقعنا XML. تماما مثل أسماء الأيام، يمكننا أن نفعل ذلك مع تبديل كبيرة حقاً.. ولكن أولاً نحن بحاجة إلى إنشاء قصاصة فيلم تحتوي على الرمز.

1
private var _weatherToday:MovieClip = new MovieClip;
2
private var _weatherTomorrow:MovieClip = new MovieClip;
3
4
//below code goes in constructor

5
addChild(_weatherToday);
6
addChild(_weatherTomorrow);
7
_weatherToday .x = -80;
8
_weatherToday .y = -40;
9
_weatherTomorrow .x = 115;
10
_weatherTomorrow .y = -60;

والآن الرموز:

1
//this code goes in the loadData() function

2
switch (codeToday) {
3
		
4
	case "28":
5
	case "3200":
6
	case "30":
7
	case "44":
8
		var weather01:weather01 = new weather01();
9
		_weatherToday.addChild(weather01);
10
		_weatherToday.scaleX = 0.7;
11
		_weatherToday.scaleY = 0.7;
12
	break;
13
	
14
	case "32":
15
	case "34":
16
		var weather02:weather02 = new weather02();
17
		_weatherToday.addChild(weather02);
18
		_weatherToday.scaleX = 0.7;
19
		_weatherToday.scaleY = 0.7;
20
	break;
21
	
22
	case "24":
23
	case "25":
24
		var weather03:weather03 = new weather03();
25
		_weatherToday.addChild(weather03);
26
		_weatherToday.scaleX = 0.7;
27
		_weatherToday.scaleY = 0.7;
28
	break;
29
	
30
	case "0":
31
	case "1":
32
	case "2":
33
	case "22":
34
	case "36":
35
	case "42":
36
	case "43":
37
		var weather04:weather04 = new weather04();
38
		_weatherToday.addChild(weather04);
39
		_weatherToday.scaleX = 0.7;
40
		_weatherToday.scaleY = 0.7;
41
	break;
42
		
43
	case "19":
44
	case "20":
45
	case "21":
46
	case "23":
47
	case "26":
48
		var weather05:weather05 = new weather05();
49
		_weatherToday.addChild(weather05);
50
		_weatherToday.scaleX = 0.7;
51
		_weatherToday.scaleY = 0.7;
52
	break;
53
	
54
	case "41":
55
	case "46":
56
		var weather06:weather06 = new weather06();
57
		_weatherToday.addChild(weather06);
58
		_weatherToday.scaleX = 0.7;
59
		_weatherToday.scaleY = 0.7;
60
	break;
61
	
62
	case "3":
63
	case "4":
64
	case "37":
65
	case "38":
66
	case "39":
67
	case "45":
68
	case "47":
69
		var weather07:weather07 = new weather07();
70
		_weatherToday.addChild(weather07);
71
		_weatherToday.scaleX = 0.7;
72
		_weatherToday.scaleY = 0.7;
73
	break;
74
	
75
	case "31":
76
	case "33":
77
		var weather08:weather08 = new weather08();
78
		_weatherToday.addChild(weather08);
79
		_weatherToday.scaleX = 0.7;
80
		_weatherToday.scaleY = 0.7;
81
	break;
82
	
83
	case "27":
84
	case "29":
85
		var weather09:weather09 = new weather09();
86
		_weatherToday.addChild(weather09);
87
		_weatherToday.scaleX = 0.7;
88
		_weatherToday.scaleY = 0.7;
89
	break;
90
	
91
	case "5":
92
	case "6":
93
	case "7":
94
	case "35":
95
		var weather10:weather10 = new weather10();
96
		_weatherToday.addChild(weather10);
97
		_weatherToday.scaleX = 0.7;
98
		_weatherToday.scaleY = 0.7;
99
	break;
100
				
101
	case "8":
102
	case "10":
103
	case "13":
104
	case "14":
105
	case "15":
106
	case "16":
107
	case "17":
108
	case "18":
109
		var weather11:weather11 = new weather11();
110
		_weatherToday.addChild(weather11);
111
		_weatherToday.scaleX = 0.7;
112
		_weatherToday.scaleY = 0.7;
113
	break;
114
	
115
	case "9":
116
	case "11":
117
	case "12":
118
		var weather12:weather12 = new weather012();
119
		_weatherToday.addChild(weather12);
120
		_weatherToday.scaleX = 0.7;
121
		_weatherToday.scaleY = 0.7;
122
	break;
123
	
124
				
125
	case "40":
126
		var weather13:weather13 = new weather13();
127
		_weatherToday.addChild(weather13);
128
		_weatherToday.scaleX = 0.7;
129
		_weatherToday.scaleY = 0.7;
130
	break;
131
}

وفي هذه الحالة فقط تستخدم الرموز 13 ولكن يمكنك استخدام أكثر إذا كنت تريد، أو أقل، وأن إليك. فقط تذكر، ياهو يستخدم رموز 40، حيث تضطر إلى تعيين لهم جميعا إلى رمز. يمكنك أن ترى قائمة بمعاني رموز كل في developer.yahoo.com.

الخطوة 13: إضافة تأثير الوجه

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

My Front symbol
My Back symbol

الآن دعنا نسميها من لدينا ملف اكشن:

1
private var _front:Front;
2
private var _back:Back;
3
4
//all below code goes in Weather() constructor

5
6
_front = new Front();
7
this.addChild(_front);
8
_front.y = 100;
9
_front.x = 160;
10
_font.rotationY = 0;
11
_front.btn.buttonMode = true;
12
_front.btn.addEventListener(MouseEvent.CLICK, turnAround);
13
_front.addChild(_weatherToday);
14
15
//this is going to be behind so we don't want it to be visible yet, and we need to set the rotation to -180

16
_back = new Back();
17
_back.y = 100;
18
_back.x = 160;
19
_back.back.buttonMode = true;
20
_back.back.addEventListener(MouseEvent.CLICK, turnAround);
21
_back.rotationY = -180;
22
_back.visible = false;
23
this.addChild(_back);

الخطوة 14: إعداد توين

لدينا لدينا قصاصة الفيلم، حتى الآن نحن بحاجة إلى أن تجعل من الوجه. لذلك نحن ذاهبون لاستخدام مكتبة Tweener الذي يمكن العثور عليه في /http://code.google.com/p/tweener. تحميل، واستخراج فإنه حيث يكون المجلد \caurina\ في نفس المجلد مثل فلوريدا FLA بك

لهذا المشروع نحن ذاهبون إلى استخدام وظيفة واحدة فقط من ذلك: أننا سوف تجعل من الوجه باستخدام الدالة ()turnAround لتبدو باردة. ضع التعليمات البرمجية التالية في الأماكن المناسبة في فئة المستند الخاص بك:

1
import caurina.transitions.Tweener;
2
3
private var _currentFace:String;
4
5
//flip the faces and then calls the function that change the order of the faces and finish the animation

6
private function turnAround(event:MouseEvent):void {
7
	Tweener.addTween(_back, { rotationY: -90, onComplete:changeIndex, time:0.5, transition:"linear" } );
8
	Tweener.addTween(_back, { scaleY:0.6, scaleX:0.6,  time:0.3, transition:"linear" } );
9
	Tweener.addTween(_front, { scaleY:0.6, scaleX:0.6,  time:0.3, transition:"linear" } );
10
	Tweener.addTween(_front, { rotationY:90, time:0.5, transition:"linear" } );
11
}
12
13
//we use a String, _currentFace, so it can know which face is in front

14
private function changeIndex():void {
15
	if (_currentFace == "front") {
16
		this.setChildIndex(_front, 0);
17
		Tweener.addTween(_back, { rotationY: 0, time:0.5, transition:"linear" } );
18
		Tweener.addTween(_back, { scaleY:1, scaleX:1,  time:0.6, transition:"linear" } );
19
		Tweener.addTween(_front, { rotationY:180, time:0.5, transition:"linear" } );
20
		Tweener.addTween(_front, { scaleY:1, scaleX:1,  time:0.6, transition:"linear" } );
21
		_currentFace = "back";
22
		_front.visible = false;
23
		_back.visible = true;
24
	} else {
25
		this.setChildIndex(_back, 0);
26
		Tweener.addTween(_back, { rotationY: -180, time:0.5, transition:"linear" } );
27
		Tweener.addTween(_back, { scaleY:1, scaleX:1,  time:0.6, transition:"linear" } );
28
		Tweener.addTween(_front, { rotationY:0, time:0.5, transition:"linear" } );
29
		Tweener.addTween(_front, { scaleY:1, scaleX:1,  time:0.6, transition:"linear" } );
30
		_currentFace = "front";
31
		_front.visible = true;
32
		_back.visible = false;
33
	}
34
}

الخطوة 15: إضافة المواقع

الآن أن لدينا المزيد من المساحة في الظهر ويمكن أن نضيف المزيد من الدول أو معلومات أو أي شيء تريد. باختصار، سوف تضيف المزيد من المواقع. ما نحتاج إلى القيام به هو الذهاب إلى الفلاش واضغط Ctrl + F7 (في Windows) أو (Command + F7 (Mac للكشف عن مكونات الفريق. اسحب "مربع التحرير والسرد" إلى المكتبة الخاصة بك، ثم هذا إضافة إلى فئة المستند الخاص بك:

1
import flash.xml.*;
2
3
_comboBox = new ComboBox();
4
5
//inside the constructor

6
//the default text

7
_comboBox.prompt = "Choose your location:";
8
//repeat this for each location that you want to add

9
//remember to get the location's URL from the Yahoo site

10
comboBox.addItem( { Location:"Mahtomedi", url: "http://weather.yahooapis.com/forecastrss?w=2444293&u=c"} );
11
//calls the function that give the value to the ComboBox

12
_comboBox.labelFunction = nameLabelFunction;
13
_comboBox.width = 150;
14
_comboBox.editable = false;
15
//calls the function that is going to change the data

16
_comboBox.addEventListener(Event.CHANGE, changeLocation);
17
18
19
private function nameLabelFunction(item:Object):String {
20
	var str:String;
21
	if (item == null) {
22
		str = _comboBox.value;
23
	} else {
24
		str = item.Location ;
25
	}
26
	return str;
27
}
28
29
//reaload the data and reassign the data of your application

30
private function changeProvince(event:Event):void {
31
	loadXML(_comboBox.selectedItem.url);
32
}

الخطوة 16: يتمتع!

تتمتع الآن بالتطبيق الخاص بك، إضافة يتوهم الأشياء والائتمانات (لا ننسى ياهو!)

الاستنتاج

ويتعين علينا الآن تطبيق الطقس لدينا أمل تعلمت الكثير، إذا كان لديك أي أسئلة ترك تعليق فقط.

أمل كنت تحب هذا البرنامج التعليمي، شكرا للقراءة!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.