#include "acllib.h"
ACL_Sound sound1;
ACL_Image img;//开始图
ACL_Image img1;//涂鸦图
ACL_Color c=RED;//默认画笔颜色
int cx=0;
int cy=0;
int j=0;//开始界面和绘图界面分离
int m=0;//重置当前绘图点and监控鼠标左或右键是否一直按着
void BEGIN(void)
{
 loadImage("begin_one.jpg",&img);
 loadSound("pop.mp3",&sound1);
 playSound(sound1,1);
 beginPaint();
 putImage(&img,0,0);
 setTextColor(RED);
 setTextBkColor(GREEN);
 setTextSize(50);
 setTextFont("Goudy Stout");
 paintText(125,200,"BEGIN");
 paintText(175,275,"MUSIC");
 paintText(225,350,"EXIT");
 endPaint();
}

void face_paint()
{
   loadImage("tu.jpg",&img1);
  
   //事先插图为了能够在上面涂鸦
   beginPaint();
   putImage(&img1,200,200);
    endPaint();
}

void rel_paint()
{
    static int ox = 0;
    static int oy = 0;
 
       if(m==1)//避免线画图成为点画图和把绘图起点确定
      {
            ox=cx;
           oy=cy;
           m++;
      }
     if(!(cx>=10&&cx<=72&&cy>=10&&cy<=30))
    { 
       
        beginPaint();
        setPenWidth(3);
        setPenColor(c);
        line(ox,oy,cx,cy);
        endPaint();
        ox=cx;
        oy=cy;
    
    }
}

void mouseEvent(int x,int y,int key,int event)
{
         static int k = 0; //完成歌曲开关键的重复使用(用全局或静态变量保证生存周期)
         //记录绘图坐标
         cx=x;
         cy=y;
 
      //开始界面的begin功能实现
    if(j==0&&x>=125&&x<=260&&y>=200&&y<=250&&key==LEFT_BUTTON&&event==BUTTON_DOWN)
      {
                beginPaint();
                clearDevice();
                endPaint();
                face_paint();
                j=1;
      }
 
          //MUSIC开关控制
     if(j==0&&x>=175&&x<=309&&y>=275&&y<=322&&key==LEFT_BUTTON&&event==BUTTON_DOWN)
    {
       switch(k)
      {
          case 0: 
         //菜单颜色
          beginPaint();
          putImage(&img,0,0);
           setTextColor(RED);
           setTextBkColor(GREEN);
           setTextSize(50);
           setTextFont("Goudy Stout");
           paintText(125,200,"BEGIN");
           paintText(225,350,"EXIT");
           endPaint();
          //改变选项颜色
           beginPaint();
          setTextColor(GREEN);
          setTextBkColor(RED);
          setTextSize(50);
         setTextFont("Goudy Stout");
         paintText(175,275,"MUSIC");
         endPaint(); 
         stopSound(sound1);//关闭音乐
         k=1;
         break;
  
          case 1:
          playSound(sound1,1);
            beginPaint();
            putImage(&img,0,0);
             setTextColor(RED);
             setTextBkColor(GREEN);
             setTextSize(50);
             setTextFont("Goudy Stout");
              paintText(125,200,"BEGIN");
              paintText(175,275,"MUSIC");
              paintText(225,350,"EXIT");
              endPaint();
             k=0;
             break;
         }
    }
 
 
    if(j==0&&x>=222&&x<=319&&y>=349&&y<=398&&key==LEFT_BUTTON&&event==BUTTON_DOWN)
 {
  exit(0);//退出功能
 }
 
 //画板面
 
       if(j==1)
     {   
       //选色板
         beginPaint();
        setBrushColor(BLUE);
        rectangle(10,10,30,30);
        endPaint();
 
        beginPaint();
       setBrushColor(GREEN);
       rectangle(31,10,51,30);
       endPaint();
 
       beginPaint();
       setBrushColor(BLACK);
       rectangle(52,10,72,30);
       endPaint();
   
       //调用划线函数
      //按住左键即可画图
             if(m!=0)
             {   
                rel_paint();
            }

//笔色
            if(key==LEFT_BUTTON&&event==BUTTON_DOWN)
           {
                 m=1;
                          if(x>=10&&x<=30&&y>=10&&y<=30)
                        {
                              c=BLUE;
                         }
                        if(x>=31&&x<=51&&y>=10&&y<=30)
                         {
                                c=GREEN;
                          }
                       if(x>=52&&x<=72&&y>=10&&y<=30)
                        {
                                c=BLACK;
                       }
           }

if(event==BUTTON_UP)
         {
              m=0;//既停止了一次画线,又重置了绘图点
          }
   
    }
 
}

int Setup()
{
 
 initWindow("",DEFAULT,DEFAULT,800,600);
 initConsole();
 switch(j)
 {
 case 0: BEGIN();break;
 }
 registerMouseEvent(mouseEvent);
    return 0;
 
}

//选用开始图片(img)

//选用音乐和涂鸦图随意

最新文章

  1. 被嫌弃的eval和with
  2. 全站 HTTPS 来了
  3. hypermesh2flac3d
  4. ServletConfig对象详解
  5. curl api create domain
  6. Javascript小笔记
  7. INTERPRETER(解释器)
  8. hdu--(1247)Hat’s Words(trie树)
  9. Android屏幕底部弹出DialogFragment(3)
  10. ButterKnife View 注入
  11. hdu 3118(二进制枚举)
  12. 在编辑模式中一个ASP.NET应用详细视图显示集合属性 编辑模式和只读模式
  13. MySQL基础学习之数据查询
  14. Jquery 获取日期date()对象
  15. asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化
  16. GRPC: set up..
  17. NDK中android.mk文件的简单介绍和第三方库的调用
  18. 基于Windows服务器,从0开始搭建一个基于RTSP协议的直播平台
  19. LIS的优化算法O(n log n)
  20. Android视图篇之一:Android常见基本布局

热门文章

  1. gulp+browserSync自动刷新页面
  2. 【JAVAEE学习笔记】hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户
  3. HTML表格表单综合——用户注册表
  4. hive报错 Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections,
  5. 浅谈Windows下SVN在Android Studio中的配置、基本使用及解除关联
  6. CentOS升级Python2.7导致使用pip等命令安装模块失败
  7. ecshop收货地址货到付款修改
  8. 自动适配H5容器(UIViewView/WKWebView),生成长图,防微信进度条
  9. angular js 和 dajango 标签{{}} 冲突
  10. RabbitMQ~开篇与环境部署