flash에서 마우스 오른쪽 버튼 사용하기
flash 에서 오른쪽 마우스를 사용 하기 위해서
ASnative 를 이용해서 dispatch 한 이벤트를 실행합니다.
버튼, 무비클립 클릭 용으로 만들었습니다.
ASnative 를 이용해서 dispatch 한 이벤트를 실행합니다.
버튼, 무비클립 클릭 용으로 만들었습니다.
swf 파일을 html에서 embead 할 때 menu=false로 지정 합니다.
그래야 flash 상에서 메뉴 버튼이 나타나지 않습니다.
flash의 1번째 프레임에 다음과 같이 선언 합니다.
소스는 actionscript 를 조금만 할 줄 알면 누구나 이해 할 수 있음으로,, 설명은 생략 ...
var EventStack:Array =new Array();
flash의 1번째 프레임에 다음과 같이 선언 합니다.
소스는 actionscript 를 조금만 할 줄 알면 누구나 이해 할 수 있음으로,, 설명은 생략 ...
var EventStack:Array =new Array();
this.onEnterFrame = function() {
//dispitchEvent by MouseRightBtnClick
if (ASnative(800, 2)(2)) {
//객체 찾기
var temp:Array=find_object(this._currentframe);
for(i:Number=0; i<temp.length; i++){
if(is_mouseOver(this[temp[i].eventTarget])==true){
//method call;
var method:String = temp[i].tirggerMethod;
this[method]();
removeEventStack(temp[i].frameNo,temp[i].eventTarget,temp[i].tirggerMethod);
}//end if
}//end for
}//end if
}//end EnterFrame
//dispitchEvent by MouseRightBtnClick
if (ASnative(800, 2)(2)) {
//객체 찾기
var temp:Array=find_object(this._currentframe);
for(i:Number=0; i<temp.length; i++){
if(is_mouseOver(this[temp[i].eventTarget])==true){
//method call;
var method:String = temp[i].tirggerMethod;
this[method]();
removeEventStack(temp[i].frameNo,temp[i].eventTarget,temp[i].tirggerMethod);
}//end if
}//end for
}//end if
}//end EnterFrame
//등록
function regist(frameNo:String,eventTarget:String,tirggerMethod:String):Void{
var defaultObj:Object = new Object();
defaultObj.frameNo=frameNo;
defaultObj.eventTarget=eventTarget;
defaultObj.tirggerMethod =tirggerMethod;
EventStack.push(defaultObj);
}
// is mouseOver
function is_mouseOver(o:Object){
var is:Boolean=false;
if(o.hitTest(_root._xmouse,_root._ymouse, false)){
is=true;
}
return is;
}
function find_object(frameNo:String):Array{
var objArray:Array = new Array();
for(i:Number=0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
objArray.push(EventStack[i]);
}
}
return objArray;
}
var objArray:Array = new Array();
for(i:Number=0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
objArray.push(EventStack[i]);
}
}
return objArray;
}
function removeEventStack(frameNo:String,eventTarget:String,tirggerMethod:String){
for(i:Number =0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
if(EventStack[i].eventTarget==eventTarget){
if(EventStack[i].tirggerMethod==tirggerMethod){
array_slice(EventStack,i);
break;
}
}
}
}
}
for(i:Number =0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
if(EventStack[i].eventTarget==eventTarget){
if(EventStack[i].tirggerMethod==tirggerMethod){
array_slice(EventStack,i);
break;
}
}
}
}
}
function array_slice(target_array:Array, target_num:Number){
for(var i=0; i<target_array.length; i++){
if(i==target_num){
target_array.splice(i,1);
}
}
}
마우스 오른쪽 버튼을 클릭 할 위치에
stop();
//_currentframe 현제 프레임 번호 , bg1 <-- 이벤트가 발생할 객체(버튼, 무비클립), fun1 <-- 이벤트가 발생 할 후 호출될 함수 명 함수 명은 수정 될 수 있으나 해당 함수를 반드시 구현 해줘야 한다.
regist(_currentframe,"bg1","fun1");
//callback function
function fun1(){
//마우스 오른쪽 버튼 클릭시 실행될 내용
trace("mouseclick");
}
for(var i=0; i<target_array.length; i++){
if(i==target_num){
target_array.splice(i,1);
}
}
}
마우스 오른쪽 버튼을 클릭 할 위치에
stop();
//_currentframe 현제 프레임 번호 , bg1 <-- 이벤트가 발생할 객체(버튼, 무비클립), fun1 <-- 이벤트가 발생 할 후 호출될 함수 명 함수 명은 수정 될 수 있으나 해당 함수를 반드시 구현 해줘야 한다.
regist(_currentframe,"bg1","fun1");
//callback function
function fun1(){
//마우스 오른쪽 버튼 클릭시 실행될 내용
trace("mouseclick");
}
댓글 3개
HoneyMaro
13년 전
오오 대박대박
visualp
13년 전
그러나 이방법도 완벽한 해결 방법은 아님을 참고 해주세요;
13년 전
감사합니다~~
게시글 목록
| 번호 | 제목 |
|---|---|
| 15500 |
JavaScript
Cshop님 여기를 봐주세요.
5
|
| 26129 | |
| 29907 |
HTML
날나리 강좌. ㅋ HTML DTD
1
|
| 29906 | |
| 15497 |
Flash
플래쉬 초짜의 질문입니다 ㅠㅠ
2
|
| 15495 |
JavaScript
자바스크립트 자료형을 생각하면 지끈지끈
1
|
| 15486 | |
| 29905 | |
| 29902 |
HTML
[css] 마진 병합
2
|
| 29901 | |
| 29900 | |
| 29899 |
HTML
공백 문자의 병합
|
| 29898 |
HTML
제대로 단위 사용하자
|
| 15483 |
JavaScript
자바스크립트에 대한 오해 - 객체
2
|
| 3556 | |
| 15478 | |
| 15471 |
node.js
nodejs용 iconv (STDIO)
6
|
| 15465 |
JavaScript
중앙정렬만 하면 툴팁 좌표가 어긋납니다.
5
|
| 29892 | |
| 15462 |
PHP
insert
2
|
| 15459 |
MySQL
putty 질문 좀 드리겠습니다
2
|
| 15458 |
Linux
lsync 사용하기
|
| 3554 | |
| 3546 | |
| 15452 |
PHP
php 다른질문~
5
|
| 15448 |
PHP
php간단한 질문좀요
3
|
| 15441 | |
| 15426 |
PHP
insert 질문.
14
|
| 15424 |
Linux
루트비번 재설정
1
|
| 3544 | |
| 3538 | |
| 15423 |
MySQL
다른 테이블로 데이터 복사
|
| 15422 |
MySQL
grant 새 사용자 권한주기
|
| 15419 |
jQuery
체크박스 체크여부에 따라 나타나고 사라지게
2
|
| 15418 |
JavaScript
그누보드 에디터에서 폰트 크기를 포인트로 사용할 수 있나요?
|
| 26116 |
제안서
제안서 입니다.
12
|
| 15417 |
Linux
쉘스크립트 백업 설정
|
| 15415 |
Mobile
옵티머스 LTE 위치파악 오류
1
|
| 15405 |
JavaScript
닫기버튼 흐극 이거 우째할까요
9
|
| 15403 | |
| 15400 | |
| 15398 |
PHP
도움을 부탁드립니다..ㅠㅠ
1
|
| 3530 | |
| 15395 |
PHP
질문좀 드릴께요ㅠㅠ
2
|
| 15394 |
Flash
플래시8 버전 눈내리는 효과 입니다
|
| 15391 |
jQuery
jQure-menu 메뉴 서브포함
2
|
| 3526 | |
| 15368 | |
| 15366 |
JavaScript
광고고정하는법좀 알려주십사 글남겨요
1
|
| 15355 |
jQuery
제이쿼리 질문 어디다하면 좋을까요..
10
|
| 29886 | |
| 15354 |
Linux
리눅스 설치후 selinux 설정하기
|
| 15349 | |
| 29884 |
HTML
이미지를 돌려요 ~
1
|
| 15345 |
node.js
질문~
3
|
| 26103 | |
| 15342 | |
| 15339 |
PHP
PHP 보안문서
2
|
| 15335 | |
| 3521 | |
| 15330 |
node.js
nodejs에서 mysql 사용
4
|
| 26102 | |
| 29883 |
HTML
css3 메뉴
|
| 15327 | |
| 15326 | |
| 15310 |
Mobile
모바일 홈페이지를 가장 빨리만들수 있는 소스~
15
|
| 15300 |
jQuery
easing을 쉽게 보여주는 이미지입니다
9
|
| 15299 |
MySQL
카테고리에 적합한 쿼리 형식
|
| 15298 |
MySQL
mysql 리플리케이션 쿼리스킵
|
| 3518 | |
| 15292 |
node.js
node.js가 갑자기 땡기네요..^^
5
|
| 15290 |
node.js
node v0.2.6 한글 번역
1
|
| 15289 |
node.js
URL파싱
|
| 15286 |
node.js
node.js에서 html불러오기
2
|
| 29882 | |
| 29880 |
HTML
가변 위치에 배너 붙이기
1
|
| 3513 | |
| 24328 | |
| 15281 |
JavaScript
이거으용좀하고싶은데;;;히히
4
|
| 15280 |
Linux
apache에서 유저권한으로 파일 변경하기
|
| 15277 | |
| 29876 | |
| 26096 |
통계자료
웹사이트 성능분석 보고서
5
|
| 3504 | |
| 3496 | |
| 3487 | |
| 3481 | |
| 15275 |
jQuery
jquery 질문입니다 ㅠㅠ
1
|
| 15274 |
Linux
리눅스하드 스탠바이 모드설정
|
| 3475 | |
| 29872 | |
| 29870 |
HTML
[vim] 주석 달기~
1
|
| 3468 | |
| 3466 | |
| 3463 | |
| 3455 | |
| 3452 | |
| 15268 |
node.js
노드 항상 실행 어떻게 하시나요?
5
|
| 15267 |
Mobile
보리안드로이드
|
| 15266 |
Mobile
앱스프레소
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기