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

下面这段就是画出星星的代码: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. day4作业模拟实现一个ATM + 购物商城程序

    作业需求: 模拟实现一个ATM + 购物商城程序 1.额度 15000或自定义: 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账: 3.可以提现,手续费5%: 4.每月22号出账单,每月10 ...

  2. TCP和UDP的9个区别是什么

    TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题.我曾经在 ...

  3. 【ARC066】F - Contest with Drinks Hard

    题解 我写的斜率维护,放弃了我最擅长的叉积维护,然后发现叉积维护也不会爆long long哦-- 一写斜率维护我的代码就会莫名变长而且难写--行吧 我们看这题 推了推式子,发现这是个斜率的式子,但是斜 ...

  4. Ubuntu16.04下HBase的安装与配置

    一.环境 os : Ubuntu 16.04 LTS 64bit jdk : 1.8.0_161 hadoop : mysql : hive : hbase: -hadoop2 安装HBase前,系统 ...

  5. Bootstrap进阶一:Glyphicons 字体图标

    基本组件是Bootstrap的精华之一,其中都是开发者平时需要用到的交互组件.例如:网站导航.标签页.工具条.面包屑.分页栏.提示标签.产品展示.提示信息块和进度条等.这些组件都配有jQuery插件, ...

  6. eclipse 修改js文件无法编译到项目中

    1.场景重现 在今天修改js文件完善功能时,发现在eclipse中修改了文件后,刷新页面功能无法同步: 2.分析原因 查看编译路径,文件没有修改: 2.1 可能是缓存问题: 2.2 项目未编译: 3. ...

  7. SQL注入实验

    看到他们黑站感觉很有意思的样子,于是我也玩了一下午,虽然都是些狠狠狠简单的东西,不过还是记录下来啦. 虽然和我现在做的没啥关系,不过,,,挺好 浏览器的“工具”——“internet选项”——“高级” ...

  8. 机器学习之路:python线性回归分类器 LogisticRegression SGDClassifier 进行良恶性肿瘤分类预测

    使用python3 学习了线性回归的api 分别使用逻辑斯蒂回归  和   随机参数估计回归 对良恶性肿瘤进行预测 我把数据集下载到了本地,可以来我的git下载源代码和数据集:https://gith ...

  9. 【UOJ #221】【NOI 2016】循环之美

    http://uoj.ac/problem/221 因为\(a\)和\(b\)不互质时,\(\frac ab=\frac{\frac a{(a,b)}}{\frac b{(a,b)}}\),所以只用求 ...

  10. luoguP4491 [HAOI2018]染色 广义容斥原理 + FFT

    非常明显的摆了一个NTT模数.... 题目中求恰好\(k\),那么考虑求至少\(k\) 记\(g(k)\)表示至少\(k\)中颜色出现了恰好\(S\)次 那么,\[g(k) = \binom{M}{k ...