本套代码,实现了,登录界面、电子相册、打地鼠、播放音乐、五子棋的功能,各功能间可通过一个主界面互相切换。(主界面的最后一个游戏snake未实现)
主函数代码如下
widget.c和widget.h见我另一篇文章
代码实现视频请转到代码实现视频_哔哩哔哩_bilibili观看
#include "lvgl/lvgl.h"
#include "lvgl/demos/lv_demos.h"
#include <unistd.h>
#include <pthread.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "my_src/widget.h"
static lv_obj_t * kb;
static lv_obj_t * ta1;
static lv_obj_t * ta2;
static lv_obj_t * obj_f1;
static lv_obj_t * obj_f2;
static lv_obj_t * obj_f3;
static lv_obj_t * obj_music;
static lv_obj_t * obj_gobang;
static lv_obj_t * obj_snake;
static lv_obj_t *button_fail;
static lv_obj_t *demo_back;
static lv_obj_t *photo_back;
static lv_obj_t *gobang_back;
static lv_obj_t *snake_back;
static lv_obj_t *game1_back;
static lv_obj_t *game1_start;
static lv_obj_t *game1_stop;
static lv_obj_t *game1_rst;
static lv_obj_t *music_back;
static lv_obj_t *music_name;
static lv_obj_t *music_singer;
static lv_obj_t *music1_pic;
static lv_obj_t *music2_pic;
static lv_obj_t *music3_pic;
static lv_obj_t *music4_pic;
static lv_obj_t *window_pic;
static lv_obj_t *up_photo;
static lv_obj_t *mid_photo;
static lv_obj_t *down_photo;
static lv_obj_t *image1;
static lv_obj_t *image2;
static lv_obj_t *image3;
static lv_obj_t *image4;
static lv_obj_t *image5;
static lv_obj_t *image6;
static lv_obj_t *white_win;
static lv_obj_t *black_win;
static lv_obj_t *ds[4][4];
static lv_obj_t *ds_text[4][4];
static lv_obj_t *ds_fen_text_v2;
static lv_obj_t *ds_num_v2;
static lv_obj_t *qz[10][10];
static lv_obj_t *snake_move_window;
static lv_obj_t *snake_body;
static lv_timer_t * timer_ds = NULL;
static lv_timer_t * timer_snake = NULL;
static lv_timer_t * timer_photo = NULL;
int music_flag = 0;
char *music_namer1=NULL;
char *music_singer1=NULL;
int music_flag2 = 0;
int photo_flag = 0;
int ds_flag = 0;
int gobang_flag = 0;
int qz_flag = 0;
int mid_photo_flag = 0;
int k=0,l=0,i=0,j=0;
int sum=0;
int source = 0;
int iswin[10][10]={0};
//window_button按钮
void window_button_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
lv_obj_add_flag(button,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(window_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f1,LV_OBJ_FLAG_HIDDEN);
}
}
//登录按钮回调函数
void login_all_event_cb(lv_event_t * e)
{
char a[]="huawei";
char p[]="china";
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
const char * account = lv_textarea_get_text(ta1);
const char * password = lv_textarea_get_text(ta2);
if(strcmp(a,account)==0 && strcmp(p,password)==0)
{
printf("成功登入\n");
lv_obj_add_flag(obj_f1,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
}
else
{
printf("账号或密码错误\n");
lv_obj_remove_flag(button_fail,LV_OBJ_FLAG_HIDDEN);
}
}
}
//文本框回调函数
void ta_all_event_cb(lv_event_t * e)
{
lv_obj_t * ta = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_FOCUSED)
{
printf("聚焦于账号或密码文本框\n");
lv_obj_remove_flag(kb,LV_OBJ_FLAG_HIDDEN);
lv_keyboard_set_textarea(kb,ta);
}
else if(code == LV_EVENT_DEFOCUSED)
{
printf("账号或密码文本框失去聚焦\n");
lv_obj_add_flag(kb,LV_OBJ_FLAG_HIDDEN);
}
}
//登陆失败按钮回调函数
void button_fail_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
lv_obj_add_flag(button_fail,LV_OBJ_FLAG_HIDDEN);
}
}
//退回登陆界面按钮回调函数
void button_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退回登陆界面\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f1,LV_OBJ_FLAG_HIDDEN);
}
}
//demo按钮回调函数
void demo_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("进入DEMO\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(demo_back,LV_OBJ_FLAG_HIDDEN);
}
}
//退出demo按钮回调函数
void demo_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退出DEMO\n");
lv_obj_add_flag(demo_back,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
}
}
//photo按钮回调函数
void photo_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("进入photo\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image1,LV_OBJ_FLAG_HIDDEN);
printf("显示图片1\n");
photo_flag = 1;
lv_obj_remove_flag(photo_back,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(up_photo,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(mid_photo,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(down_photo,LV_OBJ_FLAG_HIDDEN);
}
}
//显示上一张图片回调函数
void up_photo_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("up_photo被点击\n");
if(photo_flag == 1)
{
lv_obj_add_flag(image1,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image6,LV_OBJ_FLAG_HIDDEN);
printf("显示图片6\n");
photo_flag = 6;
}
else if(photo_flag == 2)
{
lv_obj_add_flag(image2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image1,LV_OBJ_FLAG_HIDDEN);
printf("显示图片1\n");
photo_flag = 1;
}
else if(photo_flag == 3)
{
lv_obj_add_flag(image3,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image2,LV_OBJ_FLAG_HIDDEN);
printf("显示图片2\n");
photo_flag = 2;
}
else if(photo_flag == 4)
{
lv_obj_add_flag(image4,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image3,LV_OBJ_FLAG_HIDDEN);
printf("显示图片3\n");
photo_flag = 3;
}
else if(photo_flag == 5)
{
lv_obj_add_flag(image5,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image4,LV_OBJ_FLAG_HIDDEN);
printf("显示图片4\n");
photo_flag = 4;
}
else if(photo_flag == 6)
{
lv_obj_add_flag(image6,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image5,LV_OBJ_FLAG_HIDDEN);
printf("显示图片5\n");
photo_flag = 5;
}
}
}
//定时器实现图片循环播放回调函数
void timer_photo_event_cb(lv_timer_t *e)
{
if(photo_flag == 1)
{
lv_obj_add_flag(image1,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image2,LV_OBJ_FLAG_HIDDEN);
printf("显示图片2\n");
photo_flag = 2;
}
else if(photo_flag == 2)
{
lv_obj_add_flag(image2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image3,LV_OBJ_FLAG_HIDDEN);
printf("显示图片3\n");
photo_flag = 3;
}
else if(photo_flag == 3)
{
lv_obj_add_flag(image3,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image4,LV_OBJ_FLAG_HIDDEN);
printf("显示图片4\n");
photo_flag = 4;
}
else if(photo_flag == 4)
{
lv_obj_add_flag(image4,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image5,LV_OBJ_FLAG_HIDDEN);
printf("显示图片5\n");
photo_flag = 5;
}
else if(photo_flag == 5)
{
lv_obj_add_flag(image5,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image6,LV_OBJ_FLAG_HIDDEN);
printf("显示图片6\n");
photo_flag = 6;
}
else if(photo_flag == 6)
{
lv_obj_add_flag(image6,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image1,LV_OBJ_FLAG_HIDDEN);
printf("显示图片1\n");
photo_flag = 1;
}
}
//循环图片按钮回调函数
void mid_photo_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("mid_photo被点击\n");
printf("次数为:%d\n",++mid_photo_flag);
if(mid_photo_flag == 1)
{
timer_photo = lv_timer_create(timer_photo_event_cb,1000,NULL);
printf("开始循环\n");
}
else if(mid_photo_flag % 2 == 0)
{
lv_timer_pause(timer_photo);
printf("停止循环\n");
}
else
{
lv_timer_resume(timer_photo);
printf("恢复循环\n");
}
}
}
//下一张图片回调函数
void down_photo_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("down_photo被点击\n");
if(photo_flag == 1)
{
lv_obj_add_flag(image1,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image2,LV_OBJ_FLAG_HIDDEN);
printf("显示图片2\n");
photo_flag = 2;
}
else if(photo_flag == 2)
{
lv_obj_add_flag(image2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image3,LV_OBJ_FLAG_HIDDEN);
printf("显示图片3\n");
photo_flag = 3;
}
else if(photo_flag == 3)
{
lv_obj_add_flag(image3,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image4,LV_OBJ_FLAG_HIDDEN);
printf("显示图片4\n");
photo_flag = 4;
}
else if(photo_flag == 4)
{
lv_obj_add_flag(image4,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image5,LV_OBJ_FLAG_HIDDEN);
printf("显示图片5\n");
photo_flag = 5;
}
else if(photo_flag == 5)
{
lv_obj_add_flag(image5,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image6,LV_OBJ_FLAG_HIDDEN);
printf("显示图片6\n");
photo_flag = 6;
}
else if(photo_flag == 6)
{
lv_obj_add_flag(image6,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(image1,LV_OBJ_FLAG_HIDDEN);
printf("显示图片1\n");
photo_flag = 1;
}
}
}
//退出photo回调函数
void photo_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退出photo\n");
if(timer_photo != NULL)
{
lv_timer_pause(timer_photo);
lv_timer_delete(timer_photo);
}
lv_obj_add_flag(photo_back,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(up_photo,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(mid_photo,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(down_photo,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(image1,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(image2,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(image3,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(image4,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(image5,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(image6,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
mid_photo_flag = 0;
timer_photo = NULL;
}
}
//定时器打地鼠回调函数
void timer_event_cb(lv_timer_t *e)
{
lv_obj_add_flag(ds_text[l][k],LV_OBJ_FLAG_HIDDEN);
i =rand()%4;
j = rand()%4;
printf("ds_text[%d][%d]\n",j,i);
lv_obj_remove_flag(ds_text[j][i],LV_OBJ_FLAG_HIDDEN);
sum++;
printf("地鼠出洞数为:%d\n",sum);
lv_label_set_text_fmt(ds_num_v2,"%d",sum);
if(sum%10==0)
{
lv_timer_set_period(timer_ds, 1000-sum*10);
}
if(sum == 100)
{
printf("打地鼠游戏结束\n");
timer_ds = NULL;
ds_flag = 0;
lv_obj_add_flag(ds_text[j][i],LV_OBJ_FLAG_HIDDEN);
}
l = j;
k = i;
}
//打地鼠按键回调函数
void game1_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("进入Whack-a-mole\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f3,LV_OBJ_FLAG_HIDDEN);
}
}
//打地鼠游戏开始按钮回调函数
void game1_start_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("start game1.\n");
sum=0;
source=0;
lv_label_set_text_fmt(ds_num_v2,"%d",sum);
lv_label_set_text_fmt(ds_fen_text_v2,"%d",source);
if(ds_flag == 0)
{
timer_ds = lv_timer_create(timer_event_cb,1000,NULL);
//lv_timer_set_repeat_count(timer_ds, 100);
}
ds_flag++;
}
}
//打地鼠游戏暂停按钮回调函数
void game1_stop_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("stop game1.\n");
if(timer_ds != NULL)
lv_timer_pause(timer_ds);
}
}
//打地鼠游戏继续按钮回调函数
void game1_rst_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("resume game1.\n");
if(timer_ds != NULL)
lv_timer_resume(timer_ds);
}
}
//退出打地鼠按键回调函数
void game1_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退出Whack-a-mole\n");
if(timer_ds != NULL)
{
lv_timer_pause(timer_ds);
lv_timer_delete(timer_ds);
}
lv_obj_add_flag(ds_text[l][k],LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(obj_f3,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
timer_ds = NULL;
ds_flag=0;
source = 0;
sum=0;
lv_label_set_text_fmt(ds_num_v2,"%d",sum);
lv_label_set_text_fmt(ds_fen_text_v2,"%d",source);
}
}
//打地鼠回调函数
void ds_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
if(lv_obj_get_child(button,0)==ds_text[j][i])
{
printf("打到了\n");
source+=1;
lv_obj_add_flag(ds_text[l][k],LV_OBJ_FLAG_HIDDEN);
lv_label_set_text_fmt(ds_fen_text_v2,"%d",source);
}
else
{
printf("打错了\n");
lv_obj_add_flag(ds_text[l][k],LV_OBJ_FLAG_HIDDEN);
}
}
}
//music按钮回调函数
void music_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("进入music\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_music,LV_OBJ_FLAG_HIDDEN);
}
}
//播放音乐函数
void music_start(char* music_name)
{
char cmd[100];
sprintf(cmd, "madplay -a -25 %s &", music_name);// &表示后台运行
system(cmd);
}
//点击开始按钮,开始播放音乐,开始按钮回调函数
void music_start_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
if(music_flag==0)
{
system("killall -9 madplay");
printf("播放音乐1\n");
music_namer1 = "Til the Stars Burn Blue";
music_singer1 = "The Score";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_remove_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/1.mp3");
music_flag2 = 1;
}
else
{
printf("恢复播放\n");
system("killall -CONT madplay &");
}
music_flag++;
}
}
//暂停音乐回调函数
void music_stop_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("暂停音乐\n");
system("killall -STOP madplay &");
}
}
//切换上一首音乐回调函数
void music_cut_up_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("切换上一首音乐\n");
system("killall -9 madplay");
if(music_flag2 == 1)
{
printf("播放音乐4\n");
music_namer1 = "Chevy";
music_singer1 = "Chevy";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music4_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/4.mp3");
music_flag2 = 4;
}
else if(music_flag2 == 2)
{
printf("播放音乐1\n");
music_namer1 = "Til the Stars Burn Blue";
music_singer1 = "The Score";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music2_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/1.mp3");
music_flag2 = 1;
}
else if(music_flag2 == 3)
{
printf("播放音乐2\n");
music_namer1 = "Every Summertime";
music_singer1 = "NIKI";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music3_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music2_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/2.mp3");
music_flag2 = 2;
}
else if(music_flag2 == 4)
{
printf("播放音乐3\n");
music_namer1 = "Lulala! Lululala!";
music_singer1 = "Lulala! Lululala!";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music4_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music3_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/3.mp3");
music_flag2 = 3;
}
}
}
//切换下一首音乐回调函数
void music_cut_down_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("切换下一首音乐\n");
system("killall -9 madplay");
if(music_flag2 == 1)
{
printf("播放音乐2\n");
music_namer1 = "Every Summertime";
music_singer1 = "NIKI";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music2_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/2.mp3");
music_flag2 = 2;
}
else if(music_flag2 == 2)
{
printf("播放音乐3\n");
music_namer1 = "Lulala! Lululala!";
music_singer1 = "Lulala! Lululala!";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music2_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music3_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/3.mp3");
music_flag2 = 3;
}
else if(music_flag2 == 3)
{
printf("播放音乐4\n");
music_namer1 = "Chevy";
music_singer1 = "Chevy";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music3_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music4_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/4.mp3");
music_flag2 = 4;
}
else if(music_flag2 == 4)
{
printf("播放音乐1\n");
music_namer1 = "Til the Stars Burn Blue";
music_singer1 = "The Score";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music4_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
music_start("/home/music/1.mp3");
music_flag2 = 1;
}
}
}
//退出music回调函数
void music_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退出music\n");
music_flag = 0;
music_flag2 = 0;
system("killall -9 madplay");
music_namer1 = "music name";
music_singer1 = "music singer";
lv_label_set_text_fmt(music_name,"%s",music_namer1);
lv_label_set_text_fmt(music_singer,"%s",music_singer1);
lv_obj_add_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(music2_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(music3_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(music4_pic,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(obj_music,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
}
}
//五子棋按钮回调函数
void gobang_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("进入gobang\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
}
}
//退出五子棋回调函数
void gobang_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退出gobang\n");
lv_obj_add_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
init_qz_style();
for(int y=0;y<10;y++)
{
for(int x=0;x<10;x++)
{
lv_obj_add_style(qz[y][x], &qz_style,LV_STATE_DEFAULT);
iswin[y][x]=0;
}
}
gobang_flag = 0;
}
}
//白棋获胜是弹窗回调函数
void white_win_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("关闭白子获胜弹窗\n");
lv_obj_add_flag(white_win,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
init_qz_style();
for(int y=0;y<10;y++)
{
for(int x=0;x<10;x++)
{
lv_obj_add_style(qz[y][x], &qz_style,LV_STATE_DEFAULT);
iswin[y][x]=0;
}
}
gobang_flag = 0;
}
}
//黑棋获胜弹窗回调函数
void black_win_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("关闭黑子获胜弹窗\n");
lv_obj_add_flag(black_win,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
init_qz_style();
for(int y=0;y<10;y++)
{
for(int x=0;x<10;x++)
{
lv_obj_add_style(qz[y][x], &qz_style,LV_STATE_DEFAULT);
iswin[y][x]=0;
}
}
gobang_flag = 0;
}
}
//判断五子棋胜利函数,返回-1白子胜利,返回1黑子胜利
int who_win(int qz_x,int qz_y)
{
int c,d;
int num_r=0,num_l=0,num_x=0,num_y=0;
for(d=0;d<4;d++)
{
for(c=-4;c<5;c++)
{
if(d == 0)
{
if( qz_y+c>=0 && qz_y+c<10 && iswin[qz_y+c][qz_x]==iswin[qz_y][qz_x])
{
num_y+=1;
printf("iswin[%d][%d]=%d iswin[%d][%d]=%d 相等 num_y=%d\n",qz_y+c,qz_x,iswin[qz_y+c][qz_x],qz_y,qz_x,iswin[qz_y][qz_x],num_y);
}
else
{
num_y=0;
}
if(num_y==5)
{
printf("iswin[%d][%d]=%d\n",qz_y,qz_x,iswin[qz_y][qz_x]);
if(iswin[qz_y][qz_x]==1)
{
printf("黑子获胜\n");
return 1;
}
else
{
printf("白子获胜\n");
return -1;
}
}
}
if(d == 1)
{
if( qz_x+c>=0 && qz_x+c<10 && iswin[qz_y][qz_x+c]==iswin[qz_y][qz_x])
{
num_x+=1;
printf("iswin[%d][%d]=%d iswin[%d][%d]=%d 相等 num_x=%d\n",qz_y,qz_x+c,iswin[qz_y][qz_x+c],qz_y,qz_x,iswin[qz_y][qz_x],num_x);
}
else
{
num_x=0;
}
if(num_x==5)
{
printf("iswin[%d][%d]=%d\n",qz_y,qz_x,iswin[qz_y][qz_x]);
if(iswin[qz_y][qz_x]==1)
{
printf("黑子获胜\n");
return 1;
}
else
{
printf("白子获胜\n");
return -1;
}
}
}
if(d == 2)
{
if( qz_y+c>=0 && qz_y+c<10 && qz_x+c>=0 && qz_x+c<10 && iswin[qz_y+c][qz_x+c]==iswin[qz_y][qz_x])
{
num_r+=1;
printf("iswin[%d][%d]=%d iswin[%d][%d]=%d 相等 num_r=%d\n",qz_y+c,qz_x+c,iswin[qz_y+c][qz_x+c],qz_y,qz_x,iswin[qz_y][qz_x],num_r);
}
else
{
num_r=0;
}
if(num_r==5)
{
printf("iswin[%d][%d]=%d\n",qz_y,qz_x,iswin[qz_y][qz_x]);
if(iswin[qz_y][qz_x]==1)
{
printf("黑子获胜\n");
return 1;
}
else
{
printf("白子获胜\n");
return -1;
}
}
}
if(d == 3)
{
if( qz_y+c>=0 && qz_y+c<10 && qz_x-c>=0 && qz_x-c<10 && iswin[qz_y+c][qz_x-c]==iswin[qz_y][qz_x])
{
num_l+=1;
printf("iswin[%d][%d]=%d iswin[%d][%d]=%d 相等 num_l=%d\n",qz_y+c,qz_x-c,iswin[qz_y+c][qz_x-c],qz_y,qz_x,iswin[qz_y][qz_x],num_l);
}
else
{
num_l=0;
}
if(num_l==5)
{
printf("iswin[%d][%d]=%d\n",qz_y,qz_x,iswin[qz_y][qz_x]);
if(iswin[qz_y][qz_x]==1)
{
printf("黑子获胜\n");
return 1;
}
else
{
printf("白子获胜\n");
return -1;
}
}
}
}
}
return 0;
}
//棋子回调函数
void qz_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
int qz_x1,qz_y1;
printf("gobang_flag = %d\n",gobang_flag);
if(gobang_flag == 0)
{
init_qz_black_style();
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(button == qz[i][j]&&iswin[i][j]==0)
{
iswin[i][j]=1;
qz_y1=i;
qz_x1=j;
lv_obj_add_style(button, &qz_black_style,LV_STATE_DEFAULT);
printf("qz[%d][%d]被下为黑棋\n",i,j);
gobang_flag = 1;
qz_flag = 1;
break;
}
}
}
}
else
{
init_qz_white_style();
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(button == qz[i][j]&&iswin[i][j]==0)
{
iswin[i][j]=-1;
qz_y1=i;
qz_x1=j;
lv_obj_add_style(button, &qz_white_style,LV_STATE_DEFAULT);
printf("qz[%d][%d]被下为白棋\n",i,j);
gobang_flag = 0;
qz_flag = 1;
break;
}
}
}
}
if(qz_flag == 1)
{
printf("qz_y=%d qz_x=%d\n",qz_y1,qz_x1);
int r = who_win(qz_x1,qz_y1);
if(r == -1)
{
lv_obj_add_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(white_win,LV_OBJ_FLAG_HIDDEN);
}
else if(r == 1)
{
lv_obj_add_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(black_win,LV_OBJ_FLAG_HIDDEN);
}
}
}
qz_flag = 0;
i = j = 0;
}
//贪吃蛇延时函数(未实现)
void timer_snake_event_cb(lv_timer_t *e)
{
}
//贪吃蛇回调函数
void snake_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("进入snake\n");
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_snake,LV_OBJ_FLAG_HIDDEN);
// snake_body = (lv_obj_t *)malloc(sizeof(lv_obj_t)*40*50);
// for(int y=0;y<40;y++)
// {
// for(int x=0;x<50;x++)
// {
// //设置棋子按钮
// snake_body[50*y+x]= lv_button_create(snake_move_window);
// lv_obj_set_pos(snake_body[50*y+x],10*x,10*y);//边框起始位置
// lv_obj_set_size(snake_body[50*y+x],10,10);//边框大小
// init_snake_body_style();
// lv_obj_add_style(snake_body[50*y+x], &snake_body_style,LV_STATE_DEFAULT);
// }
// }
//timer_snake = lv_timer_create(timer_snake_event_cb,1000,NULL);
}
}
//退出贪吃蛇回调函数
void snake_back_all_event_cb(lv_event_t * e)
{
lv_obj_t * button = lv_event_get_target(e);
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED)
{
printf("退出snake\n");
free(snake_body);
lv_obj_add_flag(obj_snake,LV_OBJ_FLAG_HIDDEN);
lv_obj_remove_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
}
}
//创建窗口,标签,按钮,添加样式,隐藏对象,获取按钮事件
void test1()
{
lv_obj_t * obj_f1 = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_f1,0,0);//边框起始位置
lv_obj_set_size(obj_f1,800,480);//边框大小
//设置样式
//init_obj_f1_style();
//lv_obj_add_style(obj_f1, &obj_f1_style,LV_STATE_DEFAULT);
//设置按钮
lv_obj_t *button = lv_button_create(obj_f1);
lv_obj_set_pos(button,0,0);//边框起始位置
lv_obj_set_size(button,200,200);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(button, &button_style,LV_STATE_DEFAULT);
//设置标签
lv_obj_t * label = lv_label_create(button);
lv_obj_set_pos(label,10,10);
lv_obj_set_size(label,100,100);
//设置文字
lv_label_set_text(label,"label");//设置标签文本
//设置标签样式
init_label_style(&lv_font_montserrat_20);
//选择样式生效状态
lv_obj_add_style(label, &label_style,LV_STATE_DEFAULT);//默认状态下样式生效
//隐藏button
//lv_obj_add_flag(button,LV_OBJ_FLAG_HIDDEN);
}
//文本输入框
void test2()
{
//创建文本输入框
lv_obj_t * ta = lv_textarea_create(lv_scr_act());
//设置大小位置
lv_obj_set_size(ta,200,50);
lv_obj_set_pos(ta,0,0);
//创建软键盘
lv_obj_t * kb =lv_keyboard_create(lv_scr_act());
//关联软键盘和文本输入框
lv_keyboard_set_textarea(kb,ta);
}
//登陆系统
void test3()
{
//创建登陆界面窗口
obj_f1 = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_f1,0,0);//边框起始位置
lv_obj_set_size(obj_f1,800,480);//边框大小
//设置样式
init_obj_f1_style();
lv_obj_add_style(obj_f1, &obj_f1_style,LV_STATE_DEFAULT);
lv_obj_add_flag(obj_f1,LV_OBJ_FLAG_HIDDEN);
//创建登陆后的窗口
obj_f2 = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_f2,0,0);//边框起始位置
lv_obj_set_size(obj_f2,800,480);//边框大小
//设置样式
init_obj_f2_style();
lv_obj_add_style(obj_f2, &obj_f2_style,LV_STATE_DEFAULT);
//隐藏obj_f2
lv_obj_add_flag(obj_f2,LV_OBJ_FLAG_HIDDEN);
//创建Whac-A-Mole的窗口
obj_f3 = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_f3,0,0);//边框起始位置
lv_obj_set_size(obj_f3,800,480);//边框大小
//设置样式
init_obj_f3_style();
lv_obj_add_style(obj_f3, &obj_f3_style,LV_STATE_DEFAULT);
//隐藏obj_f3
lv_obj_add_flag(obj_f3,LV_OBJ_FLAG_HIDDEN);
//创建Music的窗口
obj_music = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_music,0,0);//边框起始位置
lv_obj_set_size(obj_music,800,480);//边框大小
//设置样式
init_obj_f3_style();
lv_obj_add_style(obj_music, &obj_f3_style,LV_STATE_DEFAULT);
//隐藏obj_music
lv_obj_add_flag(obj_music,LV_OBJ_FLAG_HIDDEN);
//创建GOBANG的窗口
obj_gobang = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_gobang,0,0);//边框起始位置
lv_obj_set_size(obj_gobang,800,480);//边框大小
//设置样式
init_obj_gobang_style();
lv_obj_add_style(obj_gobang, &obj_gobang_style,LV_STATE_DEFAULT);
//隐藏obj_music
lv_obj_add_flag(obj_gobang,LV_OBJ_FLAG_HIDDEN);
//创建snake的窗口
obj_snake = lv_obj_create(lv_scr_act());//边框在活动屏幕上显示
lv_obj_set_pos(obj_snake,0,0);//边框起始位置
lv_obj_set_size(obj_snake,800,480);//边框大小
//设置样式
init_obj_f3_style();
lv_obj_add_style(obj_snake, &obj_f3_style,LV_STATE_DEFAULT);
//隐藏obj_music
lv_obj_add_flag(obj_snake,LV_OBJ_FLAG_HIDDEN);
//设置开机图片按钮
lv_obj_t *window_button = lv_button_create(lv_scr_act());
lv_obj_set_pos(window_button,0,0);//边框起始位置
lv_obj_set_size(window_button,800,480);//边框大小
//设置开机图片
window_pic = lv_image_create(lv_scr_act());
lv_image_set_src(window_pic,"A:/home/window.jpg");//规格为300*300
lv_obj_set_pos(window_pic,0,0);
//设置网站LOGO标签
lv_obj_t * logo = lv_label_create(obj_f1);
lv_obj_set_size(logo,600,100);
lv_obj_set_pos(logo,180,0);
//设置文字
lv_label_set_text(logo,"HUAWEI MatePad\nULTIMATE DESIGN");//设置标签文本
//设置标签样式
init_logo_style(&lv_font_montserrat_48);
//选择样式生效状态
lv_obj_add_style(logo, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//创建账号文本输入框
ta1 = lv_textarea_create(obj_f1);
//设置大小位置
lv_obj_set_size(ta1,200,50);
lv_obj_set_pos(ta1,300,100);
//设置标签
lv_obj_t * account = lv_label_create(obj_f1);
lv_obj_set_size(account,80,40);
lv_obj_set_pos(account,220,115);
//设置文字
lv_label_set_text(account,"account");//设置标签文本
//创建密码文本输入框
ta2 = lv_textarea_create(obj_f1);
//设置大小位置
lv_obj_set_size(ta2,200,50);
lv_obj_set_pos(ta2,300,160);
//设置标签
lv_obj_t * password = lv_label_create(obj_f1);
lv_obj_set_size(password,80,40);
lv_obj_set_pos(password,220,175);
//设置文字
lv_label_set_text(password,"password");//设置标签文本
//设置登入按钮
lv_obj_t *button = lv_button_create(obj_f1);
lv_obj_set_pos(button,520,130);//边框起始位置
lv_obj_set_size(button,80,50);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(button, &button_style,LV_STATE_DEFAULT);
//设置登入标签
lv_obj_t * login = lv_label_create(button);
lv_obj_set_size(login,100,80);
lv_obj_set_pos(login,0,0);
//设置文字
lv_label_set_text(login,"login");//设置标签文本
//设置登入失败按钮
button_fail = lv_button_create(obj_f1);
lv_obj_set_pos(button_fail,0,0);//边框起始位置
lv_obj_set_size(button_fail,800,480);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(button_fail, &button_style,LV_STATE_DEFAULT);
lv_obj_add_flag(button_fail,LV_OBJ_FLAG_HIDDEN);
//设置登入失败标签
lv_obj_t * login_failed = lv_label_create(button_fail);
lv_obj_set_size(login_failed,800,480);
lv_obj_set_pos(login_failed,0,0);
//设置文字
lv_label_set_text(login_failed,"login_failed. \nplease check are your account or password ture?");//设置标签文本
//选择样式生效状态
lv_obj_add_style(login_failed, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
lv_obj_add_flag(button_fail,LV_OBJ_FLAG_HIDDEN);
//设置登入后退出按钮
lv_obj_t *button_back = lv_button_create(obj_f2);
lv_obj_set_pos(button_back,0,0);//边框起始位置
lv_obj_set_size(button_back,70,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(button_back, &button_style,LV_STATE_DEFAULT);
//设置登入后退出标签
lv_obj_t * button_back_text = lv_label_create(button_back);
lv_obj_set_size(button_back_text,70,70);
lv_obj_set_pos(button_back_text,0,0);
//设置文字
lv_label_set_text(button_back_text,"X");//设置标签文本
//选择样式生效状态
lv_obj_add_style(button_back_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置demo按钮
lv_obj_t *demo = lv_button_create(obj_f2);
lv_obj_set_pos(demo,100,0);//边框起始位置
lv_obj_set_size(demo,200,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(demo, &button_style,LV_STATE_DEFAULT);
//设置登入后退出标签
lv_obj_t * demo_text = lv_label_create(demo);
lv_obj_set_size(demo_text,200,70);
lv_obj_set_pos(demo_text,0,0);
//设置文字
lv_label_set_text(demo_text,"DEMO");//设置标签文本
//选择样式生效状态
lv_obj_add_style(demo_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置demo_back退出按钮
demo_back = lv_button_create(lv_scr_act());
lv_obj_set_pos(demo_back,0,0);//边框起始位置
lv_obj_set_size(demo_back,70,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(demo_back, &button_style,LV_STATE_DEFAULT);
//设置demo_back退出标签
lv_obj_t * demo_back_text = lv_label_create(demo_back);
lv_obj_set_size(demo_back_text,70,70);
lv_obj_set_pos(demo_back_text,0,0);
//设置文字
lv_label_set_text(demo_back_text,"X");//设置标签文本
//选择样式生效状态
lv_obj_add_style(demo_back_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//隐藏demo_back按钮
lv_obj_add_flag(demo_back,LV_OBJ_FLAG_HIDDEN);
//设置photo按钮
lv_obj_t *photo = lv_button_create(obj_f2);
lv_obj_set_pos(photo,330,0);//边框起始位置
lv_obj_set_size(photo,200,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(photo, &button_style,LV_STATE_DEFAULT);
//设置photo标签
lv_obj_t * photo_text = lv_label_create(photo);
lv_obj_set_size(photo_text,200,70);
lv_obj_set_pos(photo_text,0,0);
//设置文字
lv_label_set_text(photo_text,"PHOTO");//设置标签文本
//选择样式生效状态
lv_obj_add_style(photo_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置photo_back退出按钮
photo_back = lv_button_create(lv_scr_act());
lv_obj_set_pos(photo_back,0,0);//边框起始位置
lv_obj_set_size(photo_back,800,80);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(photo_back, &button_style,LV_STATE_DEFAULT);
//隐藏按钮
lv_obj_add_flag(photo_back,LV_OBJ_FLAG_HIDDEN);
//设置显示上一张photo按钮
up_photo = lv_button_create(lv_scr_act());
lv_obj_set_pos(up_photo,0,80);//边框起始位置
lv_obj_set_size(up_photo,267,400);//边框大小
//设置按钮样式
init_photo_button_style();
//选择样式生效状态
lv_obj_add_style(up_photo, &photo_button_style,LV_STATE_DEFAULT);
//隐藏按钮
lv_obj_add_flag(up_photo,LV_OBJ_FLAG_HIDDEN);
//设置循环播放photo按钮
mid_photo = lv_button_create(lv_scr_act());
lv_obj_set_pos(mid_photo,267,80);//边框起始位置
lv_obj_set_size(mid_photo,266,400);//边框大小
//设置按钮样式
init_photo_button_style();
//选择样式生效状态
lv_obj_add_style(mid_photo, &photo_button_style,LV_STATE_DEFAULT);
//隐藏按钮
lv_obj_add_flag(mid_photo,LV_OBJ_FLAG_HIDDEN);
//设置显示下一张photo按钮
down_photo = lv_button_create(lv_scr_act());
lv_obj_set_pos(down_photo,533,80);//边框起始位置
lv_obj_set_size(down_photo,267,400);//边框大小
//选择样式生效状态
lv_obj_add_style(down_photo, &photo_button_style,LV_STATE_DEFAULT);
//隐藏按钮
lv_obj_add_flag(down_photo,LV_OBJ_FLAG_HIDDEN);
//显示图片
image1 = lv_image_create(lv_scr_act());
lv_image_set_src(image1,"A:/home/1.jpeg");
lv_obj_set_pos(image1,0,0);
lv_obj_add_flag(image1,LV_OBJ_FLAG_HIDDEN);
image2 = lv_image_create(lv_scr_act());
lv_image_set_src(image2,"A:/home/2.jpg");
lv_obj_set_pos(image2,0,0);
lv_obj_add_flag(image2,LV_OBJ_FLAG_HIDDEN);
image3 = lv_image_create(lv_scr_act());
lv_image_set_src(image3,"A:/home/3.jpg");
lv_obj_set_pos(image3,0,0);
lv_obj_add_flag(image3,LV_OBJ_FLAG_HIDDEN);
image4 = lv_image_create(lv_scr_act());
lv_image_set_src(image4,"A:/home/4.jpg");
lv_obj_set_pos(image4,0,0);
lv_obj_add_flag(image4,LV_OBJ_FLAG_HIDDEN);
image5 = lv_image_create(lv_scr_act());
lv_image_set_src(image5,"A:/home/5.jpg");
lv_obj_set_pos(image5,0,0);
lv_obj_add_flag(image5,LV_OBJ_FLAG_HIDDEN);
image6 = lv_image_create(lv_scr_act());
lv_image_set_src(image6,"A:/home/6.jpg");
lv_obj_set_pos(image6,0,0);
lv_obj_add_flag(image6,LV_OBJ_FLAG_HIDDEN);
//设置Whac-A-Mole按钮
lv_obj_t *game1 = lv_button_create(obj_f2);
lv_obj_set_pos(game1,560,0);//边框起始位置
lv_obj_set_size(game1,200,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(game1, &button_style,LV_STATE_DEFAULT);
//设置Whac-A-Mole标签
lv_obj_t * game1_text = lv_label_create(game1);
lv_obj_set_size(game1_text,200,70);
lv_obj_set_pos(game1_text,0,0);
//设置文字
lv_label_set_text(game1_text,"MOUSE");//设置标签文本
//选择样式生效状态
lv_obj_add_style(game1_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置Whac-A-Mole_back退出按钮
game1_back = lv_button_create(obj_f3);
lv_obj_set_pos(game1_back,720,0);//边框起始位置
lv_obj_set_size(game1_back,80,80);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(game1_back, &button_style,LV_STATE_DEFAULT);
//设置Whac-A-Mole退出标签
lv_obj_t * game1_back_text = lv_label_create(game1_back);
lv_obj_set_size(game1_back_text,80,80);
lv_obj_set_pos(game1_back_text,0,0);
//设置文字
lv_label_set_text(game1_back_text,"X");//设置标签文本
//选择样式生效状态
lv_obj_add_style(game1_back_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置开始游戏按钮
game1_start = lv_button_create(obj_f3);
lv_obj_set_pos(game1_start,500,100);//边框起始位置
lv_obj_set_size(game1_start,250,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(game1_start, &button_style,LV_STATE_DEFAULT);
//设置开始游戏标签
lv_obj_t * game1_start_text = lv_label_create(game1_start);
lv_obj_set_size(game1_start_text,250,100);
lv_obj_set_pos(game1_start_text,0,0);
//设置文字
lv_label_set_text(game1_start_text,"START");//设置标签文本
//选择样式生效状态
lv_obj_add_style(game1_start_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置停止游戏按钮
game1_stop = lv_button_create(obj_f3);
lv_obj_set_pos(game1_stop,500,220);//边框起始位置
lv_obj_set_size(game1_stop,250,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(game1_stop, &button_style,LV_STATE_DEFAULT);
//设置停止游戏标签
lv_obj_t * game1_stop_text = lv_label_create(game1_stop);
lv_obj_set_size(game1_stop_text,250,100);
lv_obj_set_pos(game1_stop_text,0,0);
//设置文字
lv_label_set_text(game1_stop_text,"STOP");//设置标签文本
//选择样式生效状态
lv_obj_add_style(game1_stop_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置重开游戏按钮
game1_rst = lv_button_create(obj_f3);
lv_obj_set_pos(game1_rst,500,340);//边框起始位置
lv_obj_set_size(game1_rst,250,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(game1_rst, &button_style,LV_STATE_DEFAULT);
//设置重开游戏标签
lv_obj_t * game1_rst_text = lv_label_create(game1_rst);
lv_obj_set_size(game1_rst_text,250,100);
lv_obj_set_pos(game1_rst_text,0,0);
//设置文字
lv_label_set_text(game1_rst_text,"RESUME");//设置标签文本
//选择样式生效状态
lv_obj_add_style(game1_rst_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//创建16个按钮为地鼠洞
for(int y=0;y<4;y++)
{
for(int x=0;x<4;x++)
{
//设置地鼠洞
ds[y][x]= lv_button_create(obj_f3);
lv_obj_set_pos(ds[y][x],30+100*x+10*x,10+100*y+10*y);//边框起始位置
lv_obj_set_size(ds[y][x],100,100);//边框大小
init_ds_style();
lv_obj_add_style(ds[y][x], &ds_style,LV_STATE_DEFAULT);
//设置地树洞标签
ds_text[y][x] = lv_label_create(ds[y][x]);
lv_obj_set_size(ds_text[y][x],100,100);
lv_obj_set_pos(ds_text[y][x],0,0);
//设置文字
lv_label_set_text(ds_text[y][x],"SB");//设置标签文本
//选择样式生效状态
lv_obj_add_style(ds_text[y][x], &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//隐藏标签
lv_obj_add_flag(ds_text[y][x],LV_OBJ_FLAG_HIDDEN);
}
}
//设置分数标签
lv_obj_t * ds_fen_text = lv_label_create(obj_f3);
lv_obj_set_size(ds_fen_text,100,15);
lv_obj_set_pos(ds_fen_text,500,10);
//设置文字
lv_label_set_text(ds_fen_text,"Score");//设置标签文本
//设置source标签
ds_fen_text_v2 = lv_label_create(obj_f3);
lv_obj_set_size(ds_fen_text_v2,100,15);
lv_obj_set_pos(ds_fen_text_v2,500,40);
//设置文字
lv_label_set_text(ds_fen_text_v2,"0");//设置标签文本
//设置出洞数标签
lv_obj_t * ds_num = lv_label_create(obj_f3);
lv_obj_set_size(ds_num,100,15);
lv_obj_set_pos(ds_num,550,10);
//设置文字
lv_label_set_text(ds_num,"NUM");//设置标签文本
//设置出洞数标签
ds_num_v2 = lv_label_create(obj_f3);
lv_obj_set_size(ds_num_v2,100,15);
lv_obj_set_pos(ds_num_v2,550,40);
//设置文字
lv_label_set_text(ds_num_v2,"0");//设置标签文本
//创建音乐播放器按钮
lv_obj_t *music = lv_button_create(obj_f2);
lv_obj_set_pos(music,100,100);//边框起始位置
lv_obj_set_size(music,200,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(music, &button_style,LV_STATE_DEFAULT);
//设置music标签
lv_obj_t * music_text = lv_label_create(music);
lv_obj_set_size(music_text,200,70);
lv_obj_set_pos(music_text,0,0);
//设置文字
lv_label_set_text(music_text,"MUSIC");//设置标签文本
//选择样式生效状态
lv_obj_add_style(music_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置music_back退出按钮
music_back = lv_button_create(obj_music);
lv_obj_set_pos(music_back,0,0);//边框起始位置
lv_obj_set_size(music_back,70,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(music_back, &button_style,LV_STATE_DEFAULT);
//设置music_back退出标签
lv_obj_t * music_back_text = lv_label_create(music_back);
lv_obj_set_size(music_back_text,70,70);
lv_obj_set_pos(music_back_text,0,0);
//设置文字
lv_label_set_text(music_back_text,"X");//设置标签文本
//选择样式生效状态
lv_obj_add_style(music_back_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置专辑图片
music1_pic = lv_image_create(obj_music);
lv_image_set_src(music1_pic,"A:/home/music1.jpg");//规格为300*300
lv_obj_set_pos(music1_pic,80,0);
lv_obj_add_flag(music1_pic,LV_OBJ_FLAG_HIDDEN);
music2_pic = lv_image_create(obj_music);
lv_image_set_src(music2_pic,"A:/home/music2.jpg");//规格为300*300
lv_obj_set_pos(music2_pic,80,0);
lv_obj_add_flag(music2_pic,LV_OBJ_FLAG_HIDDEN);
music3_pic = lv_image_create(obj_music);
lv_image_set_src(music3_pic,"A:/home/music3.jpg");//规格为300*300
lv_obj_set_pos(music3_pic,80,0);
lv_obj_add_flag(music3_pic,LV_OBJ_FLAG_HIDDEN);
music4_pic = lv_image_create(obj_music);
lv_image_set_src(music4_pic,"A:/home/music4.jpg");//规格为300*300
lv_obj_set_pos(music4_pic,80,0);
lv_obj_add_flag(music4_pic,LV_OBJ_FLAG_HIDDEN);
//设置歌曲名标签
music_name = lv_label_create(obj_music);
lv_obj_set_size(music_name,400,100);
lv_obj_set_pos(music_name,400,80);
//设置文字
lv_label_set_text(music_name,"music name");//设置标签文本
//选择样式生效状态
init_music_style(&lv_font_montserrat_38);
lv_obj_add_style(music_name, &music_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置歌手名标签
music_singer = lv_label_create(obj_music);
lv_obj_set_size(music_singer,400,100);
lv_obj_set_pos(music_singer,400,220);
//设置文字
lv_label_set_text(music_singer,"music singer");//设置标签文本
//选择样式生效状态
init_music_style(&lv_font_montserrat_38);
lv_obj_add_style(music_singer, &music_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置固定歌曲名标签
lv_obj_t *music_name_site = lv_label_create(obj_music);
lv_obj_set_size(music_name_site,400,50);
lv_obj_set_pos(music_name_site,400,50);
//设置文字
lv_label_set_text(music_name_site,"Title");//设置标签文本
//选择样式生效状态
init_music_title_style(&lv_font_montserrat_24);
lv_obj_add_style(music_name_site, &music_title_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置固定歌手名标签
lv_obj_t *music_singer_site = lv_label_create(obj_music);
lv_obj_set_size(music_singer_site,400,50);
lv_obj_set_pos(music_singer_site,400,180);
//设置文字
lv_label_set_text(music_singer_site,"The Artist");//设置标签文本
//选择样式生效状态
init_music_title_style(&lv_font_montserrat_24);
lv_obj_add_style(music_singer_site, &music_title_style,LV_STATE_DEFAULT);//默认状态下样式生效
//创建切换上一首歌曲按钮
lv_obj_t *music_cut_up = lv_button_create(obj_music);
lv_obj_set_pos(music_cut_up,100,310);//边框起始位置
lv_obj_set_size(music_cut_up,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(music_cut_up, &button_style,LV_STATE_DEFAULT);
//切歌标签
lv_obj_t * music_cut_up_text = lv_label_create(music_cut_up);
lv_obj_set_size(music_cut_up_text,100,100);
lv_obj_set_pos(music_cut_up_text,0,0);
//设置文字
lv_label_set_text(music_cut_up_text,"<-");//设置标签文本
init_login_style(&lv_font_montserrat_48);
lv_obj_add_style(music_cut_up_text, &login_style,LV_STATE_DEFAULT);
//创建切换下一首歌曲按钮
lv_obj_t *music_cut_down = lv_button_create(obj_music);
lv_obj_set_pos(music_cut_down,550,310);//边框起始位置
lv_obj_set_size(music_cut_down,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(music_cut_down, &button_style,LV_STATE_DEFAULT);
//切歌标签
lv_obj_t * music_cut_down_text = lv_label_create(music_cut_down);
lv_obj_set_size(music_cut_down_text,100,100);
lv_obj_set_pos(music_cut_down_text,0,0);
//设置文字
lv_label_set_text(music_cut_down_text,"->");//设置标签文本
init_login_style(&lv_font_montserrat_48);
lv_obj_add_style(music_cut_down_text, &login_style,LV_STATE_DEFAULT);
//创建暂停歌曲按钮
lv_obj_t *music_stop = lv_button_create(obj_music);
lv_obj_set_pos(music_stop,250,310);//边框起始位置
lv_obj_set_size(music_stop,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(music_stop, &button_style,LV_STATE_DEFAULT);
//暂停歌曲标签
lv_obj_t * music_stop_text = lv_label_create(music_stop);
lv_obj_set_size(music_stop_text,100,100);
lv_obj_set_pos(music_stop_text,0,0);
//设置文字
lv_label_set_text(music_stop_text," I I");//设置标签文本
init_login_style(&lv_font_montserrat_48);
lv_obj_add_style(music_stop_text, &login_style,LV_STATE_DEFAULT);
//创建播放歌曲按钮
lv_obj_t *music_start = lv_button_create(obj_music);
lv_obj_set_pos(music_start,400,310);//边框起始位置
lv_obj_set_size(music_start,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(music_start, &button_style,LV_STATE_DEFAULT);
//播放歌曲标签
lv_obj_t * music_start_text = lv_label_create(music_start);
lv_obj_set_size(music_start_text,100,100);
lv_obj_set_pos(music_start_text,0,0);
//设置文字
lv_label_set_text(music_start_text,"GO");//设置标签文本
init_login_style(&lv_font_montserrat_48);
lv_obj_add_style(music_start_text, &login_style,LV_STATE_DEFAULT);
//创建gobang按钮
lv_obj_t *gobang = lv_button_create(obj_f2);
lv_obj_set_pos(gobang,330,100);//边框起始位置
lv_obj_set_size(gobang,200,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(gobang, &button_style,LV_STATE_DEFAULT);
//设置gobang标签
lv_obj_t * gobang_text = lv_label_create(gobang);
lv_obj_set_size(gobang_text,200,70);
lv_obj_set_pos(gobang_text,0,0);
//设置文字
lv_label_set_text(gobang_text,"BANG");//设置标签文本
//选择样式生效状态
init_logo_style(&lv_font_montserrat_48);
lv_obj_add_style(gobang_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置gobang_back退出按钮
gobang_back = lv_button_create(obj_gobang);
lv_obj_set_pos(gobang_back,700,0);//边框起始位置
lv_obj_set_size(gobang_back,70,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(gobang_back, &button_style,LV_STATE_DEFAULT);
//设置五子棋退出标签
lv_obj_t * gobang_back_text = lv_label_create(gobang_back);
lv_obj_set_size(gobang_back_text,70,70);
lv_obj_set_pos(gobang_back_text,0,0);
//设置文字
lv_label_set_text(gobang_back_text,"X");//设置标签文本
//选择样式生效状态
lv_obj_add_style(gobang_back_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//创建白子获胜弹窗
white_win = lv_button_create(lv_scr_act());
lv_obj_set_pos(white_win,0,0);//边框起始位置
lv_obj_set_size(white_win,800,480);//边框大小
//设置按钮样式
init_button_white_style();
//选择样式生效状态
lv_obj_add_style(white_win, &button_white_style,LV_STATE_DEFAULT);
//设置白子获胜标签
lv_obj_t * white_win_text = lv_label_create(white_win);
lv_obj_set_size(white_win_text,800,480);
lv_obj_set_pos(white_win_text,0,0);
//设置文字
lv_label_set_text(white_win_text,"WHITE WIN!!!!!! WHITE WIN!!!!!! WHITE WIN!!!!!! WHITE WIN!!!!!! WHITE WIN!!!!!! WHITE WIN!!!!!! WINNER WINNER WINNER WINNER WINNER WINNER WINNER WINNER WINNER LOSER BLACK LOSER BLACK LOSER BLACK LOSER BLACK LOSER BLACK LOSER BLACK");//设置标签文本
//选择样式生效状态
init_logo_style(&lv_font_montserrat_48);
lv_obj_add_style(white_win_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//隐藏白子胜利弹窗
lv_obj_add_flag(white_win,LV_OBJ_FLAG_HIDDEN);
//创建黑子获胜弹窗
black_win = lv_button_create(lv_scr_act());
lv_obj_set_pos(black_win,0,0);//边框起始位置
lv_obj_set_size(black_win,800,480);//边框大小
//设置按钮样式
init_button_black_style();
//选择样式生效状态
lv_obj_add_style(black_win, &button_black_style,LV_STATE_DEFAULT);
//设置黑子获胜标签
lv_obj_t * black_win_text = lv_label_create(black_win);
lv_obj_set_size(black_win_text,800,480);
lv_obj_set_pos(black_win_text,0,0);
//设置文字
lv_label_set_text(black_win_text,"BLACK WIN!!!!!! BLACK WIN!!!!!! BLACK WIN!!!!!! BLACK WIN!!!!!! BLACK WIN!!!!!! BLACK WIN!!!!!! WINNER WINNER WINNER WINNER WINNER WINNER WINNER WINNER WINNER LOSER WHITE LOSER WHITE LOSER WHITE LOSER WHITE LOSER WHITE LOSER WHITE");//设置标签文本
//选择样式生效状态
init_login_style(&lv_font_montserrat_48);
lv_obj_add_style(black_win_text, &login_style,LV_STATE_DEFAULT);//默认状态下样式生效
//隐藏黑子胜利弹窗
lv_obj_add_flag(black_win,LV_OBJ_FLAG_HIDDEN);
lv_obj_t *row[26][12];
lv_obj_t *col[12][12];
//创建棋盘
for(int n=0;n<26;n++)
{
for(int m=0;m<12;m++)
{
row[n][m] = lv_label_create(obj_gobang);
lv_obj_set_size(row[n][m],35,15);
lv_obj_set_pos(row[n][m],0+35*m,3+15*n);
lv_label_set_text(row[n][m],"|");
}
}
for(j=0;j<12;j++)
{
for(k=0;k<12;k++)
{
col[j][k] = lv_label_create(obj_gobang);
lv_obj_set_size(col[j][k],800,35);
lv_obj_set_pos(col[j][k],0+10*k,0+35*j);
lv_label_set_text(col[j][k],"----------------------------------------------");
}
}
//创建100个按钮为棋子
for(int y=0;y<10;y++)
{
for(int x=0;x<10;x++)
{
//设置棋子按钮
qz[y][x]= lv_button_create(obj_gobang);
lv_obj_set_pos(qz[y][x],23+30*x+5*x,30+30*y+5*y);//边框起始位置
lv_obj_set_size(qz[y][x],30,30);//边框大小
init_qz_style();
lv_obj_add_style(qz[y][x], &qz_style,LV_STATE_DEFAULT);
}
}
//创建snake按钮
lv_obj_t *snake = lv_button_create(obj_f2);
lv_obj_set_pos(snake,560,100);//边框起始位置
lv_obj_set_size(snake,200,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(snake, &button_style,LV_STATE_DEFAULT);
//设置snake标签
lv_obj_t * snake_text = lv_label_create(snake);
lv_obj_set_size(snake_text,200,70);
lv_obj_set_pos(snake_text,0,0);
//设置文字
lv_label_set_text(snake_text,"SNAKE");//设置标签文本
//选择样式生效状态
init_logo_style(&lv_font_montserrat_48);
lv_obj_add_style(snake_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置snake_back退出按钮
snake_back = lv_button_create(obj_snake);
lv_obj_set_pos(snake_back,700,0);//边框起始位置
lv_obj_set_size(snake_back,70,70);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(snake_back, &button_style,LV_STATE_DEFAULT);
//设置snake_back标签
lv_obj_t * snake_back_text = lv_label_create(snake_back);
lv_obj_set_size(snake_back_text,70,70);
lv_obj_set_pos(snake_back_text,0,0);
//设置文字
lv_label_set_text(snake_back_text,"X");//设置标签文本
//选择样式生效状态
lv_obj_add_style(snake_back_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//创建snake移动的活动窗口
snake_move_window = lv_obj_create(obj_snake);
lv_obj_set_size(snake_move_window,500,400);
lv_obj_set_pos(snake_move_window,0,0);
init_snake_move_window_style();
lv_obj_add_style(snake_move_window, &snake_move_window_style,LV_STATE_DEFAULT);
//设置snake_move_up按钮
lv_obj_t *snake_move_up = lv_button_create(obj_snake);
lv_obj_set_pos(snake_move_up,600,80);//边框起始位置
lv_obj_set_size(snake_move_up,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(snake_move_up, &button_style,LV_STATE_DEFAULT);
//设置snake_move_up标签
lv_obj_t * snake_move_up_text = lv_label_create(snake_move_up);
lv_obj_set_size(snake_move_up_text,100,100);
lv_obj_set_pos(snake_move_up_text,0,0);
//设置文字
lv_label_set_text(snake_move_up_text,"^");//设置标签文本
//选择样式生效状态
lv_obj_add_style(snake_move_up_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置snake_move_left按钮
lv_obj_t *snake_move_left = lv_button_create(obj_snake);
lv_obj_set_pos(snake_move_left,540,200);//边框起始位置
lv_obj_set_size(snake_move_left,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(snake_move_left, &button_style,LV_STATE_DEFAULT);
//设置snake_move_left标签
lv_obj_t * snake_move_left_text = lv_label_create(snake_move_left);
lv_obj_set_size(snake_move_left_text,100,100);
lv_obj_set_pos(snake_move_left_text,0,0);
//设置文字
lv_label_set_text(snake_move_left_text,"<");//设置标签文本
//选择样式生效状态
lv_obj_add_style(snake_move_left_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置snake_move_right按钮
lv_obj_t *snake_move_right = lv_button_create(obj_snake);
lv_obj_set_pos(snake_move_right,660,200);//边框起始位置
lv_obj_set_size(snake_move_right,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(snake_move_right, &button_style,LV_STATE_DEFAULT);
//设置snake_move_right标签
lv_obj_t * snake_move_right_text = lv_label_create(snake_move_right);
lv_obj_set_size(snake_move_right_text,100,100);
lv_obj_set_pos(snake_move_right_text,0,0);
//设置文字
lv_label_set_text(snake_move_right_text,">");//设置标签文本
//选择样式生效状态
lv_obj_add_style(snake_move_right_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//设置snake_move_down按钮
lv_obj_t *snake_move_down = lv_button_create(obj_snake);
lv_obj_set_pos(snake_move_down,600,320);//边框起始位置
lv_obj_set_size(snake_move_down,100,100);//边框大小
//设置按钮样式
init_button_style();
//选择样式生效状态
lv_obj_add_style(snake_move_down, &button_style,LV_STATE_DEFAULT);
//设置snake_move_right标签
lv_obj_t * snake_move_down_text = lv_label_create(snake_move_down);
lv_obj_set_size(snake_move_down_text,100,100);
lv_obj_set_pos(snake_move_down_text,0,0);
//设置文字
lv_label_set_text(snake_move_down_text,"V");//设置标签文本
//选择样式生效状态
lv_obj_add_style(snake_move_down_text, &logo_style,LV_STATE_DEFAULT);//默认状态下样式生效
//创建软键盘
kb =lv_keyboard_create(obj_f1);
//隐藏软键盘
lv_obj_add_flag(kb,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_event_cb(ta1,ta_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ta2,ta_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(button,login_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(window_button,window_button_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(button_fail,button_fail_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(button_back,button_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(demo_back,demo_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(demo,demo_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(photo_back,photo_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(photo,photo_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(up_photo,up_photo_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(mid_photo,mid_photo_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(down_photo,down_photo_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(game1,game1_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(game1_start,game1_start_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(game1_stop,game1_stop_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(game1_rst,game1_rst_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(game1_back,game1_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(music,music_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(music_start,music_start_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(music_stop,music_stop_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(music_cut_up,music_cut_up_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(music_cut_down,music_cut_down_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(music_back,music_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(gobang,gobang_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(gobang_back,gobang_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(white_win,white_win_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(black_win,black_win_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(snake,snake_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(snake_back,snake_back_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[0][0],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[0][1],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[0][2],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[0][3],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[1][0],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[1][1],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[1][2],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[1][3],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[2][0],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[2][1],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[2][2],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[2][3],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[3][0],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[3][1],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[3][2],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(ds[3][3],ds_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[0][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[1][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[2][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[3][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[4][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[5][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[6][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[7][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[8][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][0],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][1],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][2],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][3],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][4],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][5],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][6],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][7],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][8],qz_all_event_cb,LV_EVENT_ALL,NULL);
lv_obj_add_event_cb(qz[9][9],qz_all_event_cb,LV_EVENT_ALL,NULL);
}
int main(void)
{
lv_init();
/*Linux frame buffer device init*/
lv_display_t * disp = lv_linux_fbdev_create();
lv_linux_fbdev_set_file(disp, "/dev/fb0");
lv_indev_t * indev = lv_evdev_create(LV_INDEV_TYPE_POINTER, "/dev/input/event0");
/*Create a Demo*/
lv_demo_widgets();
//lv_demo_widgets_start_slideshow();
test3();
/*Handle LVGL tasks*/
while(1) {
lv_timer_handler();
usleep(5000);
}
return 0;
}