iPhone的なページめくり、、をしたい iPhone的なページめくり SIHO でも、ページがフィックスする部分がダサい SIHO forked:1favorite:5lines:78license : MIT License modified : 2010-03-16 18:29:27 Embed Tweet package { /*iPhone的なページめくり SIHO*/ /*でも、ページがフィックスする部分がダサい*/ import flash.display.Sprite; import flash.events.MouseEvent; import flash.display.MovieClip; import flash.text.TextField; [SWF(stageWidth = 320,stageHeight = 480,frameRate = "24")] public class FlashTest extends Sprite { private var mc:MovieClip = new MovieClip(); private var sp1:Sprite = new Sprite(); private var sp2:Sprite = new Sprite(); private var sp3:Sprite = new Sprite(); private var pointX:Number; private var outPutfld:TextField =new TextField(); private var nowPage:uint = 1; private var lastPage:uint = 3; private var targetSp:Object; public function FlashTest() { outPutfld.text= "hoge"; addChild(outPutfld); mc.name = "mc"; addChild(mc); sp1.graphics.beginFill(0x3299ff); sp1.graphics.drawRect(0,30,stage.stageWidth,450); sp1.graphics.endFill(); sp1.name = "1"; mc.addChild(sp1); sp2.graphics.beginFill(0x6699ff); sp2.graphics.drawRect(stage.stageWidth,30,stage.stageWidth,450); sp2.graphics.endFill(); sp2.name = "2"; mc.addChild(sp2); sp3.graphics.beginFill(0x9966ff); sp3.graphics.drawRect(stage.stageWidth*2,30,stage.stageWidth,450); sp3.graphics.endFill(); sp3.name = "3"; mc.addChild(sp3); mc.addEventListener(MouseEvent.MOUSE_DOWN , onDown); stage.addEventListener(MouseEvent.MOUSE_UP , onUp); } private function onDown(event:MouseEvent):void{ targetSp = event.currentTarget; nowPage = event.target.name; pointX= mouseX; stage.addEventListener(MouseEvent.MOUSE_MOVE , onMove); } private function onUp(event:MouseEvent):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE , onMove); switch (nowPage) { case 1://最初のページのとき if (targetSp.x < -stage.stageWidth / 2) { targetSp.x = -stage.stageWidth; nowPage += 1; }else targetSp.x = 0; break; case lastPage ://最後のページのとき if (targetSp.x > -stage.stageWidth / 2 - (stage.stageWidth*(nowPage-2))) { targetSp.x = -stage.stageWidth*(nowPage-2); nowPage -= 1; }else if (targetSp.x < -(stage.stageWidth / 2 + stage.stageWidth*(nowPage-1))) { targetSp.x = -stage.stageWidth*(nowPage-1); }else targetSp.x = -stage.stageWidth*(nowPage-1); break; default: if (targetSp.x > -stage.stageWidth / 2 - (stage.stageWidth*(nowPage-2))) { targetSp.x = -stage.stageWidth*(nowPage-2); nowPage -= 1; }else if (targetSp.x < -(stage.stageWidth / 2 + stage.stageWidth*(nowPage-1))) { targetSp.x = -stage.stageWidth*nowPage; nowPage += 1; }else targetSp.x = -stage.stageWidth*(nowPage-1); } outPutfld.text = String(nowPage); } private function onMove(event:MouseEvent):void { mc.x += (mouseX-pointX)*0.05 } } } Code Fullscreen Preview Fullscreen more_more_fo.. clockmaker narutohyper shevchenko fantasista : iPhoneページめくり iPhone ページめくり addChild mouseX MouseEvent.MOUSE_MOVE currentTarget MouseEvent MovieClip removeEventListener addEventListener text MouseEvent.MOUSE_UP MouseEvent.MOUSE_DOWN name TextField Object String uint Number sort new page view favorite forked pv1955 forked from: iPhone的なページめくり、、を.. ish_xxxx forked:1 favorite:7lines:94 (diff:71)