[현재 접속자 현황]
액션스크립트 유저 갤러리 입니다.
위 시계는 현재시간을 반영합니다..
어휴 하루에 100페이지씩 꼬박꼬박 나가기로하고 3일째네요 딱 300까지찍엇슴다.....
시계예제하는데
여기서 beginFill이 왜들어가는건지 무슨용도인지 한참고민했네요-,.-;;;
needle.graphics.beginFill(Math.random()*0xffffff,1);
needle.graphics.lineStyle(5,Math.random()*0xffffff,1);
needle.graphics.moveTo(0,0);
needle.graphics.lineTo(0,200);
결국엔 뺏습니다 ㅋ;;;
기왕 시계예제하는거 진짜시계처럼 만들어보자고해서 나름 로직을 짜보앗네요
흥앙
package{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
[SWF(bsckgroundColor=0x333333,width=500,height=500,frameRate=1)]
public class watchCircle extends Sprite{
private var needle:Sprite;
private var needleh:Sprite;
private var needlem:Sprite;
private var flg:Boolean = false;
private var Degree:Number = 0;
private var Degreeh:Number = 0;
private var Degreem:Number = 0;
private var Second:Number = 0;
private var Minute:Number = 0;
private var Hour:Number = 0;
public function watchCircle(){
drawWatch();
drawNeedle();
}
private function drawWatch():void{
var circle:Sprite = new Sprite();
circle.graphics.beginFill(Math.random()*0xffffff,1);
circle.graphics.lineStyle(1,Math.random()*0xffffff,1);
circle.graphics.drawCircle(250,250,220);
this.addChild(circle);
circle.addEventListener(MouseEvent.CLICK,clickHandler);
}
private function drawNeedle():void{
needle = new Sprite();
needleh = new Sprite();
needlem = new Sprite();
var me:Sprite = new Sprite();
this.addChild(needle);
this.addChild(needleh);
this.addChild(needlem);
this.addChild(me);
needle.x = needleh.x = needlem.x = 250;
needle.y = needleh.y = needlem.y = 250;
needleh.graphics.lineStyle(5,Math.random()*0xffffff,1);
needlem.graphics.lineStyle(4,Math.random()*0xffffff,1);
needle.graphics.lineStyle(2,Math.random()*0xffffff,1);
needleh.graphics.moveTo(0,0);
needlem.graphics.moveTo(0,0);
needle.graphics.moveTo(0,0);
needleh.graphics.lineTo(0,-150);
needlem.graphics.lineTo(0,-200);
needle.graphics.lineTo(0,-200);
me.graphics.beginFill(0x000000,1);
me.graphics.drawCircle(250,250,10);
needle.addEventListener(Event.ENTER_FRAME,moveHandler);
}
private function clickHandler(e:MouseEvent):void{
if(!flg){
needle.removeEventListener(Event.ENTER_FRAME,moveHandler);
}else{
needle.addEventListener(Event.ENTER_FRAME,moveHandler);
}
flg = !flg;
}
private function moveHandler(e:Event):void{
var TT1:Date = new Date();
Hour = TT1.getHours();
Minute = TT1.getMinutes();
Second = TT1.getSeconds();
if(Hour>12){
Hour = Hour-12;
}
Degree = Second*6;
Degreeh = Hour*30;
Degreem = Minute*6;
needle.rotation = Degree;
needleh.rotation = Degreeh;
needlem.rotation = Degreem;
}
}
}
글씨가 두꺼운곳이 예제에서 추가된것입니다.
나름 머리굴려서 로직을짠건데 ㅠㅠ 이런거 만드는건 처음이라서요
okgosu님이 보시기엔 허뎝해보일지몰라도 어휴 ... 더간단한 로직이있다면 알려주시와요 흑
아그리고 혹시 이예제에서 beginFill 이 용도가 있다면 알려주셔요 ㅠㅠ
작동도 나름잘되니 질문게시판보단 자유게시판에 올립니다 ㅎ
액션스크립트 유저 갤러리 입니다.
글수 17
위 시계는 현재시간을 반영합니다..
어휴 하루에 100페이지씩 꼬박꼬박 나가기로하고 3일째네요 딱 300까지찍엇슴다.....
시계예제하는데
여기서 beginFill이 왜들어가는건지 무슨용도인지 한참고민했네요-,.-;;;
needle.graphics.beginFill(Math.random()*0xffffff,1);
needle.graphics.lineStyle(5,Math.random()*0xffffff,1);
needle.graphics.moveTo(0,0);
needle.graphics.lineTo(0,200);
결국엔 뺏습니다 ㅋ;;;
기왕 시계예제하는거 진짜시계처럼 만들어보자고해서 나름 로직을 짜보앗네요
흥앙
package{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
[SWF(bsckgroundColor=0x333333,width=500,height=500,frameRate=1)]
public class watchCircle extends Sprite{
private var needle:Sprite;
private var needleh:Sprite;
private var needlem:Sprite;
private var flg:Boolean = false;
private var Degree:Number = 0;
private var Degreeh:Number = 0;
private var Degreem:Number = 0;
private var Second:Number = 0;
private var Minute:Number = 0;
private var Hour:Number = 0;
public function watchCircle(){
drawWatch();
drawNeedle();
}
private function drawWatch():void{
var circle:Sprite = new Sprite();
circle.graphics.beginFill(Math.random()*0xffffff,1);
circle.graphics.lineStyle(1,Math.random()*0xffffff,1);
circle.graphics.drawCircle(250,250,220);
this.addChild(circle);
circle.addEventListener(MouseEvent.CLICK,clickHandler);
}
private function drawNeedle():void{
needle = new Sprite();
needleh = new Sprite();
needlem = new Sprite();
var me:Sprite = new Sprite();
this.addChild(needle);
this.addChild(needleh);
this.addChild(needlem);
this.addChild(me);
needle.x = needleh.x = needlem.x = 250;
needle.y = needleh.y = needlem.y = 250;
needleh.graphics.lineStyle(5,Math.random()*0xffffff,1);
needlem.graphics.lineStyle(4,Math.random()*0xffffff,1);
needle.graphics.lineStyle(2,Math.random()*0xffffff,1);
needleh.graphics.moveTo(0,0);
needlem.graphics.moveTo(0,0);
needle.graphics.moveTo(0,0);
needleh.graphics.lineTo(0,-150);
needlem.graphics.lineTo(0,-200);
needle.graphics.lineTo(0,-200);
me.graphics.beginFill(0x000000,1);
me.graphics.drawCircle(250,250,10);
needle.addEventListener(Event.ENTER_FRAME,moveHandler);
}
private function clickHandler(e:MouseEvent):void{
if(!flg){
needle.removeEventListener(Event.ENTER_FRAME,moveHandler);
}else{
needle.addEventListener(Event.ENTER_FRAME,moveHandler);
}
flg = !flg;
}
private function moveHandler(e:Event):void{
var TT1:Date = new Date();
Hour = TT1.getHours();
Minute = TT1.getMinutes();
Second = TT1.getSeconds();
if(Hour>12){
Hour = Hour-12;
}
Degree = Second*6;
Degreeh = Hour*30;
Degreem = Minute*6;
needle.rotation = Degree;
needleh.rotation = Degreeh;
needlem.rotation = Degreem;
}
}
}
글씨가 두꺼운곳이 예제에서 추가된것입니다.
나름 머리굴려서 로직을짠건데 ㅠㅠ 이런거 만드는건 처음이라서요
okgosu님이 보시기엔 허뎝해보일지몰라도 어휴 ... 더간단한 로직이있다면 알려주시와요 흑
아그리고 혹시 이예제에서 beginFill 이 용도가 있다면 알려주셔요 ㅠㅠ
작동도 나름잘되니 질문게시판보단 자유게시판에 올립니다 ㅎ





okgosu
최근 답변 댓글