Using Flash Object In C#Application UserPreferences
 
Help Info Print View Search Diffs Edit
 À妽º   Ã£±â   Freeboard   Subjectless   Images   ÃÖ±Ù±Û 

Version as of 2004-11-24 11:58:53

Clear message


C#¾îÇø®ÄÉÀ̼ǿ¡¼­Ç÷¡½Ã¿ÀºêÁ§Æ®»ç¿ëÇϱâ UsingFlashObjectIn?C#Application

¿ÀÈÄ 5:39 2004-11-08 ÀÛ¼º
¿ÀÀü 11:54 2004-11-24 ¾÷µ¥ÀÌÆ®

¾îÇø®ÄÉÀ̼ǿ¡ Flash·Î ¸¸µç UI¸¦ µÚÁý¾î ¾º¿öº¸ÀÚ´Â ¸ñÀûÀ¸·Î ÀÛ¼ºµÇ¾úÀ½.
Kenial : Kenial_at_shinbiro_com

Ç÷¡½Ã¸¦ Æ÷ÇÔÇÏ´Â ¾îÇø®ÄÉÀÌ¼Ç »ý¼º

¸ÕÀú 'µµ±¸ »óÀÚ'¿¡¼­ ¿ìŬ¸¯ -> 'Ç׸ñ Ãß°¡/Á¦°Å' ¸Þ´º¿¡¼­
´ÙÀ½°ú °°ÀÌ Shockwave Flash Object¸¦ Ãß°¡ÇÑ´Ù :

±× ´ÙÀ½ Shockwave Flash Object ÄÁÆ®·ÑÀ» Ãß°¡ÇÑ´Ù :
(±×³É ´õºíŬ¸¯Çϸé axShockwaveFlash1
?À̶ó´Â À̸§À¸·Î Ãß°¡µÈ´Ù)

Movie ¼Ó¼º¿¡ Ç÷¡½Ã ÆÄÀÏÀÇ °æ·Î¸¦ ¹Ì¸® ÁöÁ¤ÇØÁ൵ ÁÁÁö¸¸
KenialÀÇ °æ¿ì¿£ ÇÁ·Î±×·¥À» ¹èÆ÷ÇÒ ¶§ ÇÁ·Î±×·¥ÀÇ °æ·Î¿¡ °°ÀÌ ³Ö¾îÁÙ ¿¹Á¤À̹ǷÎ,
´ÙÀ½°ú °°ÀÌ ÄÚµùÇØÁÖÀÚ.

private void Form1_Load(object sender, System.EventArgs e) 
{ 
        axShockwaveFlash1.Movie = System.IO.Directory.GetCurrentDirectory() + "\\test.swf"; 
} 

±×¸®°í Ç÷¡½Ã ¹«ºñ¸¦ Çϳª ¸¸µé¾îº¸ÀÚ.
ÀÏ´Ü Ç÷¡½Ã ¹«ºñ¿Í ¾îÇø®ÄÉÀ̼ÇÀÇ ¿¬µ¿À» ÇØ¾ß ÇÏ´Ï,
°¡Àå ¸¸¸¸ÇÑ ¹öÆ°À» Çϳª Ãß°¡Çغ¸µµ·Ï ÇÏÀÚ :

ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â °æ·Î¿¡ ¸¸µé¾îÁø test.swf ÆÄÀÏÀ» ³Ö¾î³õÀ¸¸é
ÀÏ´Ü Ç÷¡½Ã ¹«ºñ°¡ ¶ß´Â ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

¸¸µé¾îÁø ¾ÖÇø®ÄÉÀÌ¼Ç È­¸é :

Ç÷¡½Ã¿¡¼­ ¾îÇø®ÄÉÀÌ¼Ç È£ÃâÇϱâ

ÀÏ´Ü Ç÷¡½Ã ¹«ºñ°¡ ¾îÇø®ÄÉÀ̼ǿ¡ ¾ñ¾îÁö±â´Â ÇßÁö¸¸,
À̰͸¸À¸·Î´Â ´ÜÁö Á»´õ ÇÁ·¹ÀÓ ¼ö°¡ ¸¹Àº Animated GIF¿¡ ºÒ°úÇÒ »ÓÀÌ´Ù.
¾Æ±î Ç÷¡½Ã ¹«ºñ¿¡ Ãß°¡ÇÑ ¹öÆ°À» °¡Áö°í C# ¾îÇø®ÄÉÀ̼ǰú ¿¬µ¿µÇµµ·Ï ¸¸µé¾î º¸ÀÚ.

Ç÷¡½Ã ¹«ºñ¿¡¼­´Â ±× ÀÚ½ÅÀ» Æ÷ÇÔÇÏ´Â ÄÁÅ×À̳Ê(=À¥ ºê¶ó¿ìÀú)¿ÍÀÇ ¿¬µ¿ÇÏ´Â ¹æ¹ýÀ¸·Î º¸Åë FSCommand¸¦ »ç¿ëÇÑ´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ ¾µ ¼ö ÀÖ´Â ½ºÅ¸ÀÏ°ú ºñ½ÁÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î À¥¿¡¼­ FSCommand¸¦ »ç¿ëÇØ º» °æÇèÀÌ ÀÖ´Â »ç¶÷Àº Á» ´õ ÆíÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ°Ú´Ù. ±×¸®°í ActiveXÀÇ Event°¡ ±¸ÇöµÇ¾î ÀÖÀ¸¹Ç·Î, ±×´ë·Î C#ÀÇ Delegate¿¡ ÇÒ´çÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.

»ç¿ë¹ýÀº °£´ÜÇÏ´Ù.
Ç÷¡½Ã ¹«ºñÀÇ ActionScript
?¿¡¼­ fscommand(command, param); ¸¦ È£ÃâÇϸé
axShockwaveFlash1?.FSCommand Delegate°¡ È£ÃâµÇ°í,
¾îÇø®ÄÉÀ̼ǿ¡¼­´Â Delegate¿¡ ÇÒ´çÇÑ ÇÔ¼ö¿¡¼­ Àü´Þ¹ÞÀº command¿Í paramÀÇ °ªÀ» ó¸®Çϵµ·Ï ÄÚµùÇÏ¸é µÈ´Ù.

¸ÕÀú Ç÷¡½Ã ¹«ºñÀÇ ¹öÆ°¿¡ fscommand() ÇÔ¼ö¸¦ ³ÖÀÚ :

ActionScript?¿¡ ÀüÇô ¹®¿ÜÇÑÀÎ »ç¶÷À» À§ÇØ Ã·¾ðÇÏÀÚ¸é,
À§ È­¸éÀº ¹öÆ°ÀÇ click À̺¥Æ®¿¡ ¹ÝÀÀÇÏ´Â Äڵ带 ÀÔ·ÂÇÑ »óÅÂÀÌ´Ù. vs ±â¹ÝÀÇ ÇÁ·Î±×·¡¸Ó ÀÔÀå¿¡¼­ º¸ÀÚ¸é °³¹ß ȯ°æÀÌ Á» ¸¾¿¡ ¾Èµé ¼öµµ ÀÖ°ÚÁö¸¸, ÀÏ´Ü Ç÷¡½Ã¿¡¼­ÀÇ ÄÚµù ȯ°æÀº Á» ÀÌÁúÀûÀ̹ǷΠÀûÀÀÇصεµ·Ï ÇÏÀÚ.

¾î·µç Ç÷¡½Ã¿¡¼­ÀÇ ÄÚµùÀº Àú°ÍÀ¸·Î ³¡ÀÌ´Ù.

±× ´ÙÀ½ vs.net¿¡¼­´Â FSCommandÀÇ Delegate¿¡ ÇÔ¼ö¸¦ ÇÒ´çÇÏ°í :

´ÙÀ½ Äڵ带 ÀÔ·ÂÇϵµ·Ï ÇÏÀÚ :

private void axShockwaveFlash1_FSCommand( 
        object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e) 
{ 
        if(e.command=="test") 
        { 
                System.Windows.Forms.MessageBox.Show(e.args); 
                Application.Exit(); 
        } 
} 

À§ ÄÚµå´Â param °ªÀ» ¸Þ½ÃÁö¹Ú½º·Î º¸¿©ÁÖ°í ¾îÇø®ÄÉÀ̼ÇÀ» Á¾·áÇÏ´Â ÄÚµåÀÌ´Ù.
½ÇÇà È­¸é :

ÀÌ·± ½ÄÀ¸·Î ¾ÖÇø®ÄÉÀ̼ÇÀÇ UI ºÎºÐÀº Ç÷¡½Ã·Î ¸¸µé°í, ÇÊ¿äÇÑ ±â´É ÀÚü´Â ¾ÖÇø®ÄÉÀÌ¼Ç ³»ºÎ Äڵ忡¼­ ±¸ÇöÇÏ´Â ¹æ¹ýÀ¸·Î dzºÎÇÑ UI¸¦ Á¦°øÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¦ÀÛÇØ º¸µµ·Ï ÇÏÀÚ.

C# ¾îÇø®ÄÉÀÌ¼Ç Äڵ忡¼­ Ç÷¡½Ã ¹«ºñÀÇ ÄÚµå È£ÃâÇϱâ

ÀÚ. À̹ø¿£ ¹Ý´ë »óȲÀÌ´Ù.

¾ÆÁÖ °£´ÜÇÑ ¹æ¹ýÀ¸·Î´Â, Flash Object¿¡¼­ ±âº»À¸·Î »ç¿ëÇÏ´Â ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. Flash Object¿¡¼­ Á¦°øÇÏ´Â ¸Þ¼­µå¸¦ ¹Ì¸® »ìÆ캸½Å ¿©·¯ºÐµéÀº ¸ðµÎ ´«Ä¡¸¦ ä¼Ì°ÚÁö¸¸, ÀÌ ÄÁÆ®·Ñ¿¡¼­´Â ÇÁ·¹ÀÓ ´ÜÀ§ÀÇ À̵¿À» µ½´Â ¸î °¡Áö ¸Þ¼­µå°¡ Á¦°øµÈ´Ù :

GotoFrame(frameNum); 
TGotoFrame(strTarget, frameNum); 
TGotoLabel(strTarget, strLabel); 
TCallFrame(strTarget, frameNum); 
TCallLabel(strTarget, strLabel); 

Ç÷¡½ÃÀÇ Timeline °³³äÀ» ÀÌÇØÇÏ°í Àִ°¡? (¾ÆÁ÷ ¸ð¸£°í °è½Å ºÐµéÀº Àá½Ã ÁÖÀ§ÀÇ Ç÷¡¼Å¸¦ ºÙÀâ¾Æ 5ºÐ °­ÀǸ¦ µéÀ¸½Ã±â ¹Ù¶õ´Ù. ÇÊÀÚ´Â È­¸é ĸóÇϱⰡ ºÎ´ã½º·¯¿ö¼­; ¿©±â¼± Àá½Ã ³Ñ¾î°¡°Ú´Ù) Àú ¸Þ¼­µåµéÀº Timeline À§¿¡¼­ÀÇ Æ¯Á¤ ÇÁ·¹ÀÓÀ¸·Î À̵¿Çϰųª, ±× ÇÁ·¹ÀÓ¿¡ ÇÒ´çµÇ¾î ÀÖ´Â Actionscript¸¦ È£ÃâÇÏ´Â ¸Þ¼­µåÀÌ´Ù.

'SetVariable?À» È£Ãâ, _root¿¡ Variable °ªÀ» ÇÒ´çÇÑ´Ù. -> TCallLabel?À» È£Ãâ, ÇÒ´çµÈ Variable °ªÀ» ó¸®ÇÏ´Â ½ºÅ©¸³Æ® Äڵ尡 ÀÖ´Â ÇÁ·¹ÀÓÀÇ Äڵ带 È£ÃâÇÑ´Ù.' ÀÇ ¼ø¼­´ë·Î ó¸®ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ ÀÌ °æ¿ì¿¡´Â, TimelineÀÇ ÀÛ¾÷ Ư¼º»ó Äڵ尡 ºÐ»êµÇ¾î ã¾Æº¸´Â °Í ÀÚü°¡ ¾î·Æ´Ù´Â °Íµµ ¹®Á¦°í, °¢ ÇÁ·¹ÀÓÀÇ ·¹ÀÌºí¿¡ ¾Æ¹«¸® ½¬¿î À̸§À» ÁÖ´õ¶óµµ °¢ ÇÔ¼ö ´ÜÀ§·Î ó¸®ÇϱⰡ ½±Áö ¾ÊÀºµ¥´Ù°¡, Àμö¸¦ Àü´ÞÇϱâ À§Çؼ­´Â Àμö¿¡ ÇØ´çÇÏ´Â VariableÀ» Àß Á¤¸®ÇÑ »óÅ¿¡¼­ ÀÛ¾÷ÇØ¾ß ÇÑ´Ù´Â µîµîÀÇ ´ÜÁ¡ÀÌ À־ ¼ö¸¹Àº Ç÷¡¼Å¿Í ÇÁ·Î±×·¡¸Óµé¿¡°Ô ³ë°¡´ÙÀÇ ÁüÀ» ¾È°ÜÁÖ¾ú´Ù.

ÀÌ·± ¹®Á¦°¡ À־, ÇÊÀÚÀÇ °æ¿ì¿¡´Â ƯÁ¤ ¹«ºñŬ¸³¿¡¼­ VariableÀÇ °ªÀ» °è¼Ó °Ë»çÇÏ´Â ÇüÅ·Π¸¸µé¾î¼­ »ç¿ëÇØ ¿Ô¾ú°í ÀÌ ¾ÆƼŬ¿¡¼­µµ ±× ³»¿ëÀ» ¼Ò°³ÇÏ·Á°í ÇßÀ¸³ª, ¾ó¸¶ Àü¿¡ ¹ß°ßÇÑ Mindfire Solutions(www.mindfiresolutions.com)ÀÇ ¾ÆƼŬÀÌ ÀÖ¾î ±× ³»¿ëÀ» ´ë½Å ¼Ò°³Çϵµ·Ï ÇÏ°Ú´Ù. (ÄÚµå ³»¿ëÀº Flash MX 2004¿¡ ¸ÂÃç ¾à°£ ¼öÁ¤µÇ¾ú´Ù)

ÀÚ. ½ÃÀÛÇÏÀÚ.

¸ÕÀú ´ÙÀ½°ú °°Àº ÇüÅÂÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾î º¸ÀÚ :

ÇÒ ÀÏÀº °£´ÜÇÏ´Ù : ¾îÇø®ÄÉÀ̼ÇÀÇ 'Ç÷¡½ÃÈ£Ãâ' ¹öÆ°À» ´©¸£¸é, Ç÷¡½Ã ¹«ºñÀÇ VariableÀÎ 'Message'¿¡ 'CallFunction1?'°ªÀ» ÇÒ´çÇÏ°í, Ç÷¡½Ã ¹«ºñ¿¡¼­´Â ÀÌ ÇÒ´çµÈ °ªÀ» ÀνÄÇؼ­ ´Ù½Ã FSCommand·Î ¾îÇø®ÄÉÀ̼ǿ¡ 'CallFunction1?'ÀÌ Ã³¸®µÇ¾ú´Ù´Â °ÍÀ» ¾Ë¸°´Ù.

1. 'Ç÷¡½ÃÈ£Ãâ' ¹öÆ°(btnCall)ÀÇ Click ¸Þ¼­µå¸¦ ÀÛ¼ºÇÑ´Ù :

private void btnCall_Click(object sender, System.EventArgs e) 
{ 
    axShockwaveFlash1.SetVariable("Message", "CallFunction1");   
}  

2. Ç÷¡½Ã ¹«ºñ¿¡¼­ Variable °ªÀÇ º¯È­¸¦ ÀνÄÇÏ°í, ÅؽºÆ®¹Ú½º(TextBox?)¿¡ functionÀÇ À̸§À» ³Ö°í, fscommand È£ÃâÀ» ó¸®ÇÏ´Â Äڵ带 ÀÛ¼ºÇÑ´Ù :

À§ È­¸éó·³ ·¹À̾îÀÇ ÇÁ·¹ÀÓÀ» ¼±ÅÃÇÑ »óÅ¿¡¼­ ½ºÅ©¸³Æ®¸¦ ³Ö¾îÁÖ¸é µÈ´Ù. ÄÚµå´Â ´ÙÀ½°ú °°´Ù :

// Ç÷¡½Ã ¹«ºñÀÇ ·Îµå°¡ ³¡³ª¸é ½ºÅ©¸³Æ® ½ÃÀÛ 
_root.onLoad = function() 
{ 
    // ±â´Ù¸®´Â ÇÔ¼ö È£Ãâ 
    keepWaitingForResponse(); 
} 
  
// Message Variable¿¡ °ªÀÌ ÇÒ´çµÇ±â¸¦ ±â´Ù¸² 
function keepWaitingForResponse()  
{ 
    // 100ms¸¶´Ù °è¼Ó È£Ãâ 
    // intervalID°¡ clearµÇ¸é ÀÛµ¿À» ¸ØÃá´Ù 
    intervalID = setInterval(  
        function () { 
            if (_root.Message != undefined) {  
                VariableReturned(_root.Message); 
            } 
        }, 100); 
} 
  
// VariableÀÌ ÇÒ´çµÇ¸é ó¸®ÇÏ´Â ÄÚµå 
function VariableReturned(callMessage) { 
    // È£ÃâÀ» ¸ØÃß´Â ÄÚµå. ¿©±â¼­´Â ÁÖ¼®Ã³¸® 
    //clearInterval(intervalID); 
     
    // ¿©±â¼­ºÎÅÍ ½ÇÁ¦ message¿¡ ´ëÇÑ Ã³¸®¸¦ ÇÑ´Ù.  
    switch(callMessage) 
    { 
        case 'CallFunction1': 
            _root.TextBox.text = "Proc:CallMessage1"; 
            fscommand("Result:CallMessage1", ""); 
            break; 
        default: 
            _root.TextBox.text = callMessage; 
            fscommand("-_-", ""); 
            break; 
    } 
    // ó¸® ÈÄ undefined »óÅ·Π¸¸µé¾î 󸮸¦ °è¼ÓÇÒ ¼ö ÀÖ°Ô ÇÔ 
    _root.Message = undefined; 
}  

3. ¾îÇø®ÄÉÀ̼ǿ¡¼­ FSCommand¸¦ ó¸®ÇÏ´Â Äڵ带 ³Ö´Â´Ù :

private void axShockwaveFlash1_FSCommand(object sender, 
  AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e) 
{ 
    System.Windows.Forms.MessageBox.Show(e.command); 
} 

°á°ú È­¸éÀº ´ÙÀ½°ú °°´Ù :

¿©±â¿¡¼­´Â 'CallFunction1?'À̶õ À̸§ÀÇ Message Çϳª¸¦ ó¸®ÇÏ°í ÀÖÀ¸³ª, ÀÀ¿ëÇϱ⿡ µû¶ó¼­ ¿©·¯ ÇÔ¼ö¸¦ ó¸®ÇÏ´Â ÇüÅ·Π¸¸µé ¼öµµ ÀÖ°í, º°µµÀÇ VariableÀ» Á¤ÇØ ÇÔ¼öÀÇ Àμö·Î¼­ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.


ProgrammingArticle? FlashWorkBook WorkBook ÇÁ·Î±×·¡¹ÖºÐ·ù


PythonPowered EditText of this page (last modified 2004-11-24 11:58:53)
FindPage by browsing, searching, or an index
Or try one of these actions: DeletePage, DeleteUploadedFile, LikePages, SpellCheck, UploadFile