ഫ്ലാഷിലെ ഫംഗ്ഷനുകള്
ഫ്ലാഷില് ഇന്ബില്റ്റായി കുറേയധികം ഫംഗ്ഷനുകള് ലഭ്യമാണ്. ഇവയെക്കൂടാതെ, ഉപയോക്താവിന് സ്വന്തമായി ഫംഗ്ഷനുകള് ചേര്ക്കുവാനുള്ള സാധ്യതയും ഫ്ലാഷില് ലഭ്യമാണ്. പ്രത്യേക ആവശ്യങ്ങള്ക്കായി അത്തരത്തിലുള്ള ഫംഗ്ഷനുകള് ചേര്ക്കേണ്ടത് അനിവാര്യവുമാണ്. ഫംഗ്ഷനുകളുടെ പ്രയോഗം മനസിലാക്കുന്നതിനായി ഒരു ചെറിയ ഉദാഹരണമാണ് ഇവിടെ വിശദീകരിച്ചിരിക്കുന്നത്. ഫംഗ്ഷനുകളുപയോഗിച്ച് ഒരു ആനിമേഷനെ എങ്ങിനെ നമ്മുടെ ആവശ്യങ്ങള്ക്ക് ഉതകുന്ന രീതിയില് പ്രവര്ത്തിപ്പിക്കാം എന്നത് ഈ ഉദാഹരണത്തിലൂടെ മനസിലാക്കുവാന് സാധിക്കും.
എന്താണിവിടെ ചെയ്യുവാന് ഉദ്ദേശിക്കുന്നത്?ഫംഗ്ഷനുകള് ഉപയോഗിച്ച് എന്തെങ്കിലും ചെയ്യുവാന് തുടങ്ങുന്നതിനു മുന്പായി, എന്താണ് നമുക്ക് ഈ ഫംഗ്ഷന് ഉപയോഗിച്ച് സാധ്യമാക്കേണ്ടതെന്ന്, വ്യക്തമായ ഒരു ധാരണ ഉണ്ടാക്കേണ്ടത് അനിവാര്യമാണ്. അതിനു ശേഷം അതിന് ഏറ്റവും യോജ്യമായ ഒരു ലോജിക്കും കണ്ടെത്തേണ്ടതുണ്ട്. വളരെ ലളിതമായ ഒരു ഉദാഹരണമാണ് ഇവിടെ പ്രതിപാദിച്ചിരിക്കുന്നത്. ചിത്രത്തില് കാണുന്നതുപോലെ എട്ട് ഇതളുകളുള്ള ഒരു പങ്ക. നടുവിലായി ഒരു ബട്ടണ്. ബട്ടണില് മൌസമര്ത്തുമ്പോള് പങ്ക കറങ്ങിത്തുടങ്ങണം, മൌസ് റിലീസില് പങ്ക നില്ക്കുകയും വേണം. എന്നാല് വെറുതെ തുടങ്ങിയാലും വെറുതെ കറക്കം നിന്നാലും പോര; തുടങ്ങുമ്പോള് പതിയെ തുടങ്ങി, ക്രമാനുഗതമായി കറക്കത്തിന്റെ വേഗത കൂടി ഉച്ചസ്ഥായിയിലെത്തുകയും; തിരികെ കറക്കം നില്ക്കുമ്പോള് കറക്കത്തിന്റെ വേഗത ക്രമമായി കുറഞ്ഞ് നിശ്ചലമാവുകയും വേണം.
തയ്യാറെടുപ്പ്ഫംഗ്ഷനുപയോഗിച്ച് എന്തെങ്കിലും ചെയ്യുവാന് തുടങ്ങുന്നതിനു മുന്പായി, ആ ഫംഗ്ഷനില് ആവശ്യമായി വന്നേക്കാവുന്ന സിംബലുകള് ലൈബ്രറിയില് ചേര്ക്കുക; ആവശ്യമുള്ളവ സ്റ്റേജിലേക്ക് ചേര്ത്ത് ഇന്സ്റ്റന്സ് നെയിം നല്കുക; ആക്ഷന്സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് ലൈബ്രറിയില് നിന്നും റണ് ടൈമില് സ്റ്റേജിലേക്ക് ചേര്ക്കേണ്ടവയ്ക്ക്, ഐഡന്റിഫയര് പേര് നല്കുക; ഇവയൊക്കെ ആദ്യം തന്നെ ചെയ്തുവെയ്ക്കുക. ഇവിടെ പ്രതിപാദിച്ചിരിക്കുന്ന ഉദാഹരണത്തില് തുടക്കത്തില് ചെയ്യേണ്ടവ ഇപ്പോള് തയ്യാറാക്കാം. ആദ്യമായി മുകളിലെ ചിത്രത്തില് കാണുന്ന രീതിയില് ഒരു പങ്ക വരച്ചുണ്ടാക്കുക. എട്ടിതളുകള് മാത്രം ഒരു മൂവിക്ലിപ്പില്, നടുവിലെ ഭാഗം ഒരു ബട്ടണായി; ഇവരണ്ടും രണ്ട് ലെയറുകളിലായി (fan, mid എന്ന് ലെയറുകള്ക്ക് പേരു നല്കാം) ചേര്ക്കുക. ഇവയെക്കൂടാതെ actions എന്ന പേരില് മറ്റൊരു ലെയറുകൂടി ചേര്ക്കുക. ഈ ലെയറിലെ ആദ്യ ഫ്രയിമിലാണ് ആക്ഷനുകള് എന്റര് ചെയ്യേണ്ടത്. ചിത്രം ശ്രദ്ധിക്കുക. സ്റ്റേജില് ചേര്ത്ത മൂവി ക്ലിപ്പുകള്ക്ക്, fan എന്നും mid എന്നും ഇന്സ്റ്റന്സ് നെയിമുകള്, പ്രോപ്പര്ട്ടി പാനലില് നല്കുവാനും മറക്കരുത്.
ആക്ഷനുകളിലേക്ക്
ആവശ്യമുള്ള ആക്ഷനുകള് നല്കുകയാണ് അടുത്തപടി. ലെയര് actions-ല് ആദ്യ ഫ്രയിമിലാണ് ആക്ഷനുകള് എന്റര് ചെയ്യേണ്ടത്. ചിത്രം ശ്രദ്ധിക്കുക. ഓരോ വരിയിലേയും ആക്ഷന്സ്ക്രിപ്റ്റുകളെക്കുറിച്ചുള്ള വിശദീകരണം ചിത്രത്തിനു ശേഷം നല്കിയിരിക്കുന്നു.
- ഒരു ബൂളിയന് വേരിയബിള്, rotates എന്ന പേരില്, ഡിഫൈന് ചെയ്തിരിക്കുന്നു. പങ്ക ഇപ്പോള് കറങ്ങുന്നുണ്ടോ ഇല്ലയോ എന്നു സൂചിപ്പിക്കുകയാണ് ഈ വേരിയബിളിന്റെ ധര്മ്മം.
- അടുത്തതില് cnt എന്ന പേരില് ഒരു വേരിയബിള് ഡിഫൈന് ചെയ്തിരിക്കുന്നു. സംഖ്യകളാണ് ഇതില് സൂക്ഷിക്കുവാന് കഴിയുക. ഒരു കൌണ്ടറായി ഉപയോഗിക്കുവാനാണിതിനെ ഡിഫൈന് ചെയ്തിരിക്കുന്നത്.
- 3...
- ഫംഗ്ഷന് എന്തിനെ സൂചിപ്പിക്കുന്നു എന്നു പിന്നീടു മനസിലാകുവാനായി, അനുയോജ്യമായ ഒരു വിശേഷണം ഇവിടെ നല്കിയിരിക്കുന്നു.
- ഫംഗ്ഷന് തുടങ്ങുന്നത് ഇവിടെ നിന്നുമാണ്.
function() {
}
എന്ന രീതിയിലാണ് ഒരു ഫംഗ്ഷന് ഡിഫൈന് ചെയ്യേണ്ടത്. രണ്ട് { } ഇടയിലായി ഫംഗ്ഷന്റെ ബോഡി നല്കാവുന്നതാണ്. - trace(cnt) എന്ന ഫംഗ്ഷന് ഉപയോഗിച്ച് cnt എന്ന വേരിയബിളിന്റെ വില ഔട്ട്പുട്ട് വിന്ഡോയില് ലഭ്യമാക്കാവുന്നതാണ്. ആവശ്യം കഴിഞ്ഞാല് // എന്നു തുടക്കത്തില് നല്കിയാല് അത് കമന്റായി കണക്കാക്കുന്നതാണ്.
- ഒരു കണ്ടീഷനനുസൃതമായി രണ്ട് കാര്യങ്ങള് ചെയ്യുന്നതിന് ഉപയോഗിക്കുന്ന if () എന്ന കണ്ടീഷണല് സ്റ്റേറ്റ്മെന്റ് ഇവിടെ തുടങ്ങിയിരിക്കുന്നു. rotates എന്ന ബൂളിയന് വാല്യു true ആണെങ്കില്...
- fan എന്ന പേരില് സ്റ്റേജില് ചെര്ത്തിരിക്കുന്ന മൂവിക്ലിപ്പിന്റെ rotation എന്ന പ്രോപ്പര്ട്ടിയോടൊപ്പം cnt-യെന്ന വേരിയബിളിന്റെ വില കൂട്ടുക.
- മറ്റൊരു if () തുടങ്ങിയിരിക്കുന്നു. ഇവിടെ cnt എന്ന വേരിയബിളിന്റെ വില രണ്ടില് കുറവാണെങ്കില്...
- cnt എന്ന വേരിയബിളിന്റെ ഇപ്പോഴുള്ള വിലയോടൊപ്പം .005 കൂട്ടുക എന്നര്ത്ഥമാക്കുന്നു. ഇവിടെ else എന്ന ഭാഗം ഒഴിവാക്കിയിരിക്കുന്നു.
- if () കണ്ടീഷന്, രണ്ടാമതു തുടങ്ങിയത് (വരി: 9) ഇവിടെ അവസാനിക്കുന്നു.
- ആദ്യം തുടങ്ങിയ if () കണ്ടീഷനില് (വരി: 7); ബൂളിയന് വാല്യു false ആണെങ്കില്...
- വീണ്ടും മറ്റൊരു if () കണ്ടീഷന്; ഇവിടെ cnt എന്ന വേരിയബിളിന്റെ വില പൂജ്യത്തിനു മേലെയാണെങ്കില്...
- fan എന്ന മൂവിക്ലിപ്പ് ഇന്സ്റ്റന്സിന്റെ rotation പ്രോപ്പര്ട്ടിയോടൊപ്പം cnt-യെന്ന വേരിയബിളിന്റെ വില കൂട്ടുക.
- കൂടാതെ cnt എന്ന വേരിയബിളിന്റെ വിലയില് നിന്നും .005 കുറയ്ക്കുക.
- വരി: 13-ല് തുടങ്ങിയ if () കണ്ടീഷന്റെ else ഭാഗത്തിന്റെ ആരംഭം. cnt എന്ന വേരിയബിളിന്റെ വില പൂജ്യത്തിലും കുറവാണെങ്കില്...
- rotator എന്ന ഇന്റര്വല് ഒഴിവാക്കുക. (setInterval() എന്ന ഫംഗ്ഷന് ഉപയോഗിച്ച് rotator എന്നൊരു ഇന്റര്വെല് പിന്നീട് തുടങ്ങുന്നുണ്ട്.)
- cnt എന്ന വേരിയബിളിന്റെ വിലയായി 0 എന്നു നല്കുക.
- വരി: 13-ല് തുടങ്ങിയ if () കണ്ടീഷന് അവസാനിക്കുന്നു.
- വരി: 7-ല് തുടങ്ങിയ if () കണ്ടീഷന് അവസാനിക്കുന്നു.
- വരി: 5-ല് തുടങ്ങിയ ഫംഗ്ഷന് അവസാനിക്കുന്നു.
ബട്ടണ് പ്രവര്ത്തിക്കുവാന് ആവശ്യമുള്ള ആക്ഷനുകളാണ് ഇനി നല്കേണ്ടത്. അടുത്ത ചിത്രം ശ്രദ്ധിക്കുക. ഈ ആക്ഷനുകളും ആദ്യ ഫ്രയിമില് തന്നെ, നേരത്തേ നല്കിയ ഫംഗ്ഷനു താഴെയായി ചേര്ത്താല് മതിയാവും.

- Button Actions ആണിനി എഴുതുന്നതെന്ന് സൂചന നല്കിയിരിക്കുന്നു.
- mid എന്ന ഇന്സ്റ്റന്സ് നെയിമോടു കൂടിയ ബട്ടണില് മൌസ് ക്ലിക്ക് ചെയ്യുമ്പോള്; തുടര്ന്നു വരുന്ന ഫംഗ്ഷന് റണ് ചെയ്യുക.
- rotates എന്ന ബൂളിയന് വേരിയബിളിന്റെ വില true എന്നു നല്കുന്നു.
- rotator എന്ന ഇന്റ്റെര്വല് ഇവിടെ സെറ്റ് ചെയ്യുന്നു.
- വരി: 2-ല് തുടങ്ങിയ ഫംഗ്ഷന് ഇവിടെ അവസാനിക്കുന്നു.
- mid എന്ന ബട്ടണ് ക്ലിക്ക് ചെയ്ത ശേഷം റിലീസ് ചെയ്യുമ്പോള്; തുടര്ന്നു വരുന്ന ഫംഗ്ഷന് റണ് ചെയ്യുക.
- rotates എന്ന വേരിയബിളിന്റെ വില false എന്നു നല്കുക.
- വരി: 6-ല് തുടങ്ങുന്ന ഫംഗ്ഷന് ഇവിടെ അവസാനിക്കുന്നു.
- മൌസ് റിലീസ് ചെയ്യുന്നത് ബട്ടണിനു മുകളിലല്ലാതെ പുറത്തായാലും, പങ്ക നില്ക്കുവാന് ഈ മൌസ് ഇവന്റിലും ഒരു ഫംഗ്ഷന് ചേര്ത്തിരിക്കുന്നു.
- rotates എന്ന വേരിയബിളിന്റെ വില false എന്നു നല്കുക.
- വരി: 9-ല് തുടങ്ങുന്ന ഫംഗ്ഷന് ഇവിടെ അവസാനിക്കുന്നു.
(2008 ഏപ്രില് ലക്കം ഇന്ഫോകൈരളി കമ്പ്യൂട്ടര് മാഗസീനില് പ്രസിദ്ധീകരിച്ചത്.)
Description: Adobe Flash CS3 Tutorial: Creating and using custom user defined functions in Adobe Flash CS3. Tutorial by Hareesh N. Nampoothiri aka Haree | ഹരീ. Creating functions, user defined functions, function(){} statement, clearInterval(), setInterval().
--
17 comments:
ഫ്ലാഷില് ഇന്ബില്റ്റായി ലഭ്യമായ ഫംഗ്ഷനുകള്ക്കു പുറമേ, ഉപയോക്താവിന് സ്വന്തം ആവശ്യാനുസരണം, ഇഷ്ടമുള്ള രീതിയില് ഫംഗ്ഷനുകള് ഡിഫൈന് ചെയ്ത് ഉപയോഗിക്കുവാനുള്ള സാധ്യതയും ലഭ്യമാണ്. ഫംഗ്ഷനുകള് എങ്ങിനെ ഡിഫൈന് ചെയ്യാം, എങ്ങിനെ ഉപയോഗിക്കാം എന്നു മനസിലാക്കുവാന് സഹായകമായ ഒരു ഉദാഹരണമാണ് ഇവിടെ.
--
ഇന്നാണ് ഈ ബ്ളോഗ്ഗ് കണ്ടത് നന്നായിരിക്കുന്നു.ഇനിയും എഴുതുക.
അക്കദമികമയി ടി.റ്റി.പിപ്ടിചിട്ടില്ല,എന്റെ സിസ്റ്റതിൽ ഇതു ഇൻസ്റ്റൽ ചെയ്തെങ്കിലും ഐ.എസ് എം പബ്ലിഷെർ തുരക്കനവുന്നില്ല .ഒന്ന് പരയമൊ മാഷെ?
ഇന്ന് മറിച്ചിട്ട മല കൊള്ളാം!
ഈ ലേഖനം ഇവിടെ നല്കിയതിനു നന്ദി....ഇനിയും ഇത്തരം ഉപകാരപ്രദമായ പോസ്റ്റുകള് പ്രതീക്ഷിക്കുന്നു..
-ബൈജു
ഓടോ :
ഹരിയേട്ടാ,
എന്റെ പോസ്റ്റുകള് അഗ്രിഗേറ്ററില് ദാ ഇങ്ങനെയാണു വരുന്നത് -
noreply@blogger.com (അഹങ്കാരി...)
അതെന്താണെന്ന് ഒന്നു പറഞ്ഞു തരുമോ???
അത് ശരിയാക്കി അഹങ്കാരി എന്ന ടൈറ്റിലില് വരാന് ഞാന് എന്തു ചെയ്യണം???
പിന്നെ ഞാന് ഫോട്ടോഷോപ്പിന്റെ പുസ്തകം ഓര്ഡര് ചെയ്ത് പണമടച്ചിരുന്നു ( ഓണ്ലൈന് ആയി) പക്ഷേ 1 ആഴ്ച്ച കഴിഞ്ഞീട്ടും കിട്ടിയില്ല...എന്താ അത്?
sasthamcotta@gmail.com
@ പാര്പ്പിടം,
നന്ദി. :)
@ സുധീര്മുക്കം,
ചോദ്യം വ്യക്തമല്ല. ഐ.എസ്.എം. പബ്ലിഷര്, ഇന്സ്റ്റാള് ചെയ്തു തുറക്കുവാന് സാധിക്കുന്നില്ല എന്നാണോ? ഐ.എസ്. എം. റണ് ചെയ്തു തുടങ്ങുമ്പോള്, ഒരു ഐക്കണ് ടാസ്ക്ബാറില്, സിസ്റ്റം ടൈമിനു സമീപമായി ദൃശ്യമാവും. ഏതെങ്കിലും എഡിറ്റിംഗ് സോഫ്റ്റ്വെയറില്, ഐ.എസ്.എം. ഫോണ്ട് സെലക്ട് ചെയ്തതിനു ശേഷം, ഐ.എസ്.എം. കീബോര്ഡ് ആക്ടീവാക്കുക. തുടര്ന്ന് മലയാളം ടൈപ്പ് ചെയ്യുവാന് സാധിക്കേണ്ടതാണ്.
@ രുദ്ര,
സത്യായിട്ടും കൊള്ളാവോ? ;) :P
@ ബൈജു,
നന്ദി.
@ അഹങ്കാരി,
ഏത് അഗ്രിഗേറ്ററില് വരുന്ന കാര്യമാണ്? മറ്റുള്ളവരുടേത് മറ്റു രീതികളിലാണോ വരുന്നത്?
ഫോട്ടോഷോപ്പ് പുസ്തകം ഉടന് തന്നെ ഇന്ഫോകൈരളി അയയ്ക്കുന്നതാണ്. പുസ്തകത്തോടൊപ്പമുള്ള സി.ഡി. ഔട്ട്-ഓഫ്-സ്റ്റോക്ക് ആണ്, അത് ലഭ്യമായാല് ഉടനെ (ഇപ്പോള് ആയിട്ടുണ്ട് എന്നാണ് അറിയുവാന് കഴിഞ്ഞത്)അയയ്ക്കുന്നതാണ്. വൈകിയതില് ക്ഷമ ചോദിക്കുന്നു. പുസ്തകം മേടിച്ചതിനു പ്രത്യേകം നന്ദി. :)
--
ഓടോ :
ഹരിയേട്ടാ,
ചിന്ത,തനിമലയാളം , അങ്ങനെ 4-ഓളം അഗ്രിഗേറ്ററുകളില് ഇങ്ങനെയാണു വരുന്ന്നത് [ noreply@blogger.com(അഹങ്കാരി)]
മറ്റുള്ളവരുടെയെല്ലാം പേരു മ്മാത്രമേയൂള്ള്L...ആ ഇമെയില് ഐഡി കാണില്ല.
@ അഹങ്കാരി,
അക്കൌണ്ട്സ് പേജിലെത്തി അവിടെ (nickname) കൃത്യമായി നല്കിയിട്ടുണ്ടോ എന്നു പരിശോധിക്കുക. അതല്ലാതെ എന്തെങ്കിലും ചെയ്യേണ്ടതുണ്ടെന്നു തോന്നുന്നില്ല.
--
ഹലോ.
ഞാന് ഇന്നാണ് ഇബളോഗ് കാണുന്നത് വളരെ ഉപകാരപ്രദം എനിക്ക് ഫോട്ടോഷോപ്പിനെപ്പറ്റികുടുതല് ഒന്നും അറിയില്ല ഒരു ഫോട്ടോയുടെ ബാക്ക്ഗ്രാവുണ്ട് കളര് മാറ്റുന്നത് എങ്ങനെ യെന്ന് പറയുമേ?
ഫ്ളാഷില് ബ്ളോഗ് ക്രിയേററ്ചെയ്യുന്നതെങ്ങനെയെന്ന് ഒന്ന് പറഞ്ഞ്തരുമോ?
ente shamshayathinu marupadi tannilla
nannaitundu enikusanthosha mayi
എങ്ങനെയാണ്ഫുള് സര്ക്കിള് വിര്ച്ച്വല് സ്പിന് 360 ഡിഗ്രി ആപ്ലിക്കേഷന്ഫ്ലാഷില് ക്രിയേററ് ചെയ്യുന്നതെന്ന്ദയവായി പറയാമോ ?
ansarisquare@gmail.com ല് സെന്ഡ് ചെയ്യാമോ? please...
@ കടയന്,
ഒരു ചിത്രത്തിന്റെ ബാക്ക്ഗ്രൌണ്ട് മാറ്റുവന് ഒന്നിലേറെ വഴികള് ഫോട്ടോഷോപ്പിലുണ്ട്. ഏറ്റവും ഫലപ്രദമായത് മാസ്കിംഗ് എന്ന സാധ്യതയാണ്. അതിനെക്കുറിച്ച് താമസിയാതെ ഇവിടെ എഴുതാമെന്നു കരുതുന്നു.
@ അന്സാരി,
ഫ്ലാഷില് ബ്ലോഗ് നിര്മ്മിക്കുക, എന്താണ് ഉദ്ദേശിച്ചതെന്ന് മനസിലായില്ല. ഇതുപോലെ ഒരു ബ്ലോഗ് സൈറ്റ് ഫ്ലാഷില് കൊണ്ടുവരിക എന്നാണെങ്കില്, അത് സാധ്യമല്ല. ബ്ലോഗര് തന്നെ വിചാരിക്കണം.
@ അബ്ദുള് ഖാദര്,
സംശയത്തിനു മറുപടി തരുവാന് ഒന്നുമില്ലാഞ്ഞാവും; എന്തെങ്കിലും ചെയ്യുവാന് സാധ്യമാണോ എന്നോ മറ്റോ ആയിരുന്നു ചോദ്യമെങ്കില്, അങ്ങിനെ സാധ്യമല്ല എന്നതാവും ഉത്തരം; അതിനാലാവാം മറുപടി തരാഞ്ഞത്.
@ ഗോപാലന്,
? ബ്ലോഗ് കണ്ടിട്ടാണോ സന്തോഷം? നന്ദി.
@ അന്സാരി,
360 ഡിഗ്രി ആപ്ലിക്കേഷന് ഫ്ലാഷില് ഡിഫോള്ട്ടായി ചെയ്യുവാനുള്ള സാധ്യത ലഭ്യമല്ല. ഫ്ലാഷ് തന്നെ ഉപയോഗിച്ചു ചെയ്യണമെങ്കില്, വിവിധ ആംഗിളുകളിലുള്ള ചിത്രങ്ങള് ആക്ഷന്സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് 3ഡിയില് കറക്കി കാണിക്കുക എന്നത് ഒരു സാധ്യതയാണ്.
--
thnx
http://livemalayalam.blogspot.com/
ഫംഗ്ഷനുകള് എങ്ങിനെ ഡിഫൈന് ചെയ്യാം,
Post a Comment
40- ദിവസത്തിനു മേല് പ്രായമുള്ള പോസ്റ്റുകളുടെ കമന്റുകള് പരിശോധിച്ചതിനു ശേഷം മാത്രമേ പ്രസിദ്ധീകരിക്കുകയുള്ളൂ. സഹകരിക്കുക.
--