今天觉得学到的比较有趣,所以记录之......~~~

下面这段就是画出星星的代码:StarShape.as

package {
import flash.display.Shape;
import flash.display.GradientType; public class StarShape extends Shape {
public function StarShape (x:Number = 50, y:Number = 50, points:int = 5, innerRadius:Number = 20, outerRadius:Number = 50, angle:Number = 0, color:uint = 0xff0000) {//x和y是起始点~~
var count = Math.abs(points);
this.graphics.lineStyle(2, 0x85DB18);
//开始填色
this.graphics.beginFill(color);
if (count > 2) {
//init vars
var step, halfStep, start, n, dx, dy;
//计算两点之间的距离
step = (Math.PI * 2) / points;
halfStep = step / 2;
//起始角度
start = (angle / 180) * Math.PI;
this.graphics.moveTo(x + (Math.cos(start) * outerRadius), y - (Math.sin(start) * outerRadius));
//画星状图的边
for (n = 1; n <= count; n++) {
dx = x + Math.cos(start + (step * n) - halfStep) * innerRadius;
dy = y - Math.sin(start + (step * n) - halfStep) * innerRadius;
this.graphics.lineTo(dx, dy);
dx = x + Math.cos(start + (step * n)) * outerRadius;
dy = y - Math.sin(start + (step * n)) * outerRadius;
this.graphics.lineTo(dx, dy);
}
}
this.graphics.endFill();
}
}
}

  具体显示效果如下:

鼠标点击和键盘按下事件练习(按下的按键是Alt,Shift,Ctrl,单个或两两组合,三个一起,同时点击鼠标):

源码:

SampleMouseAndkey.as
package {
import flash.display.Sprite;
import flash.events.MouseEvent; public class SampleMouseAndKey extends Sprite {
public function SampleMouseAndKey() {
this.stage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(evt:MouseEvent):void {
var color:uint = 0xffffff;
if (evt.ctrlKey) color = 0x66cc00;
if (evt.altKey) color = 0x669933;
if (evt.shiftKey) color = 0x66ff00;
//按两个键
if (evt.altKey && evt.ctrlKey) color = 0xffcc00;
if (evt.altKey && evt.shiftKey) color = 0xffff00;
//三个键//转载注明原文地址:http://www.cnblogs.com/xianfangloveyangmei/p/4425589.html
if (evt.altKey && evt.ctrlKey && evt.shiftKey) color = 0xff9900;
trace("click:" + color.toString(16));
var star:StarShape = new StarShape(evt.stageX, evt.stageY, 5, 10, 20, 0, color);
addChild(star);
var clear_star:
}
}
}

  

效果:(背景白色,鼠标单击可以看到画出的效果)

下面的带清舞台(其实是创建子对象覆盖):

修改后的SampleMouseAndkey.as

package {
import flash.display.Sprite;
import flash.events.MouseEvent; public class SampleMouseAndKey extends Sprite {
public function SampleMouseAndKey() {
this.stage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(evt:MouseEvent):void {
var clear:Sprite = new clear_stage(0, 0, 400, 400);
var color:uint = 0xffffff;
if(!(evt.altKey && evt.ctrlKey && evt.shiftKey)){
if (evt.ctrlKey) color = 0x66cc00;
if (evt.altKey) color = 0x669933;
if (evt.shiftKey) color = 0x66ff00;
//按两个键
if (evt.altKey && evt.ctrlKey) color = 0xffcc00;
if (evt.altKey && evt.shiftKey) color = 0xffff00;
//三个键
//if (evt.altKey && evt.ctrlKey && evt.shiftKey) color = 0xff9900;
trace("click:" + color.toString(16));
var star:StarShape = new StarShape(evt.stageX, evt.stageY, 5, 10, 20, 0, color);
addChild(star);//先画了星星
}
if (evt.altKey && evt.ctrlKey && evt.shiftKey) {
var clear:Sprite = new clear_stage(0, 0, 400, 400);
addChild(clear);
} }
}
}
import flash.display.Sprite;
class clear_stage extends Sprite {//清理舞台
public function clear_stage(x:Number, y:Number, w:Number, h:Number) {
this.graphics.beginFill(0xFFFFFF);
this.graphics.drawRect(x, y, w, h);
this.graphics.endFill();
//trace("........");
}
}

具体效果如下(同时按Alt,Shift,Ctrl,同时单击击鼠标左键清舞台):舞台白色~~~

可以测试一下上面的点击结果哦,嘻嘻~~新手笔记!!大婶别吐。

第二章 ActionScript 3.0学习之画星星(鼠标及键盘事件)的更多相关文章

  1. 第二章、 Linux 如何学习

    第二章. Linux 如何学习 最近更新日期:2009/08/06 1. Linux当前的应用角色 1.1 企业环境的利用 1.2 个人环境的使用 Linux当前的应用角色 在第一章Linux是什么当 ...

  2. 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件

    目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...

  3. 第二章:1.0 Django 入门和开发环境

    1. 选择 Django Web框架来做Web接口开发,主要原因是由于学习资料丰富,便于学习. 2. Django 对 python 版本的支持情况. Django 的版本在 1.8 ,1.9 , 1 ...

  4. ASP.NET本质论第二章应用程序对象学习笔记1

    1.请求的处理参数—上下文对象HttpContext 1) 针对每一次请求,ASP.NET将创建一个处理这次请求所使用的HttpContext对象实例,这个对象实例将用来在ASP.NET服务器的处理过 ...

  5. <<深入Java虚拟机>>-第二章-Java内存区域-学习笔记

    Java运行时内存区域 Java虚拟机在运行Java程序的时候会将它所管理的内存区域划分为多个不同的区域.每个区域都有自己的用途,创建以及销毁的时间.有的随着虚拟机的启动而存在,有的则是依赖用户线程来 ...

  6. Javascript 学习之路:鼠标长按事件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. Python自动化学习--鼠标和键盘事件

    from selenium import webdriver from selenium.webdriver import ActionChains import time driver = webd ...

  8. PyQt学习随笔:PyQt中捕获键盘事件后获取具体按键值的方法

    在PyQt中,如果要捕获键盘事件的具体按键,可以通过重写组件对象的keyPressEvent方法或event方法来捕获具体的按键,推荐使用keyPressEvent方法,因为event方法是一个通用事 ...

  9. [书籍翻译] 《JavaScript并发编程》 第二章 JavaScript运行模型

    本文是我翻译<JavaScript Concurrency>书籍的第二章 JavaScript运行模型,该书主要以Promises.Generator.Web workers等技术来讲解J ...

随机推荐

  1. 【LOJ】#2541. 「PKUWC2018」猎人杀

    题解 一道神仙的题>< 我们毙掉一个人后总的w的和会减少,怎么看怎么像指数算法 然而,我们可以容斥-- 设\(\sum_{i = 1}^{n} w_{i} = Sum\) 我们把问题转化一 ...

  2. USACO 6.2 Shaping Regions

    Shaping Regions N opaque rectangles (1 <= N <= 1000) of various colors are placed on a white s ...

  3. 跟我一起学WPF(0):初识WPF

    WPF是什么 WPF是微软的新一代图形引擎系统,全称为Windows Presentation Foundation,从.NET3.0版本开始引入,为用户界面.2D/3D 图形.文档和媒体提供了统一的 ...

  4. NHibernate 错误

    Unable to locate persister for the entity named 'Model.Customer'.The persister define the persistenc ...

  5. rest framework 类 继承图

  6. BZOJ.3105.[CQOI2013]新Nim游戏(线性基 贪心 博弈论)

    题目链接 如果后手想要胜利,那么在后手第一次取完石子后 可以使石子数异或和为0.那所有数异或和为0的线性基长啥样呢,不知道.. 往前想,后手可以取走某些石子使得剩下石子异或和为0,那不就是存在异或和为 ...

  7. BZOJ.3110.[ZJOI2013]K大数查询(整体二分 树状数组/线段树)

    题目链接 BZOJ 洛谷 整体二分求的是第K小(利用树状数组).求第K大可以转为求第\(n-K+1\)小,但是这样好像得求一个\(n\). 注意到所有数的绝对值\(\leq N\),将所有数的大小关系 ...

  8. wikioi 1048 石子归并

    dp[i][j]=min(dp[i][j],dp[i][k],dp[k+1][j]+sum[i][j]); 表示i-j的最小合并代价. #include <iostream> #inclu ...

  9. TensorFlow安装和HelloWorld

    TensorFlow安装 TensorFlow可以在各种操作系统上面安装.安装的时候要注意TensorFlow的类型,一种是普通的版本,仅支持CPU,安装简单.另外一种类型带GPU的,可以利用GPU来 ...

  10. OPENCV----在APP性能测试中的应用(一)

    应用项目:  APP的性能测试 应用场景:  APP启动速度  视频开播速度 加载速度  等~~ 缘来:  基于APP日志和UiAutomator的测试方案,测试结果不能直白且精确的反应,用户的体验 ...