TEASOFT软件 | 动作帮助信息定义语法
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TEASOFT软件 | 动作帮助信息定义语法相关的知识,希望对你有一定的参考价值。
§01 TEASOFT动作帮助信息
教学软件 TEASOFT 中的每一个动作帮助信息可以通过修饰符来产生控制摄像头、音乐等相关动作。
【表1-1 TEASOFT动作帮助信息修饰符】
动作 | 标识符号 | 备注 |
---|---|---|
清除放大方框 | 四种组合都可以:{<,}<,}>,<> | ClearBoard2Amplify() |
切换摄像头方框 | 设置符号:}n}, n=1,2,3,4…,0=10 n=1:原始Camera位置 n=2,3,4:对应设置0~8的屏幕方框位置 | ChangeCameraRectID(n) |
移除摄像头 | {{,}}, {[, }], [[, ]], ^^,VV, Vv, [], vV,vv {}:CameraShiftOut() | CameraShiftOut(CSIO_SLIDExxxx) |
设置摄像头位置 | {x,y}, {x,y,width,height}, { }:ShiftOut | |
设置音乐 | =music# =#. :Clear Music | 注意是三个字符: = # . |
§02 音乐控制
※ 博文附件 ※
一、子程序代码
//----------------------------------------------------------------------------
// CheckCameraOut
int CheckCameraOut(char *pszString) {
char szString[0x1000];
if(g_nLessonTimeFlag == 1) return 0;
if(g_nRestoreHelpMessageFlag) return 0;
int nBox[4];
if(GetWindowRectWithTitalString(nBox)) {
if(g_nCameraStringFlag == 0) return 0;
if(HelpMessageDisplayForm->Visible == false) return 0;
}
if(g_nCameraShowFlag == 0) {
g_nCutoffRange[0] = nBox[0];
g_nCutoffRange[1] = nBox[1];
g_nCutoffRange[2] = nBox[2] - nBox[0];
g_nCutoffRange[3] = nBox[3] - nBox[1];
CAMERA_RECTID_RESET;
}
//------------------------------------------------------------------------
// Clipboard()->Clear();
strcpy(szString, pszString);
int i;
int nLength = strlen(szString);
for(i = 0; i < nLength; i ++) {
if(!isspace(szString[i])) {
// if(szString[i] != '>')
break;
}
}
if(i + 2 > nLength) return 0;
char cOriginC = szString[i];
//------------------------------------------------------------------------
if(szString[0 + i] == '{' && szString[1 + i] == '<' ||
szString[0 + i] == '}' && szString[1 + i] == '<' ||
szString[0 + i] == '}' && szString[1 + i] == '>' ||
szString[0 + i] == '{' && szString[1 + i] == '>') {
ClearBoard2Amplify();
return 2;
}
if(szString[0 + i] == '}') {
if(szString[2 + i] == '}') {
int nNumber = szString[1 + i] - '0';
if(nNumber == 0) nNumber = 10;
nNumber -= 2;
ChangeCameraRectID(nNumber);
if(g_nCCSBLocalFlag > 0) AppearLargeCamera(0);
ExtentCameraRect();
return 3;
}
}
if(szString[0 + i] == '{' && szString[1 + i] == '{' && g_nCameraShowFlag) {
AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDELEFT, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == '}' && szString[1 + i] == '}' && g_nCameraShowFlag) {
AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDERIGHT, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == '{' && szString[1 + i] == '[' && g_nCameraShowFlag) {
AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDETOP, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == '}' && szString[1 + i] == ']' && g_nCameraShowFlag) {
AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDEBOTTOM, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == '[' && szString[1 + i] == '[' && g_nCameraShowFlag) {
// AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDELEFT, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == ']' && szString[1 + i] == ']' && g_nCameraShowFlag) {
// AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDERIGHT, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == '^' && szString[1 + i] == '^' && g_nCameraShowFlag ||
szString[0 + i] == 'V' && szString[1 + i] == 'V' && g_nCameraShowFlag ||
szString[0 + i] == 'V' && szString[1 + i] == 'v' && g_nCameraShowFlag ||
szString[0 + i] == ']' && szString[1 + i] == '[' && g_nCameraShowFlag) {
// AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDETOP, 1);
Board2->Refresh();
return 2;
}
if(szString[0 + i] == 'v' && szString[1 + i] == 'v' && g_nCameraShowFlag ||
szString[0 + i] == 'v' && szString[1 + i] == 'V' && g_nCameraShowFlag) {
// AppearLargeCamera(1);
CameraShiftOut(CSIO_SLIDEBOTTOM, 1);
Board2->Refresh();
return 2;
}
//------------------------------------------------------------------------
if(szString[0 + i] == '{') {
if(szString[1 + i] == '}') {
CameraShiftOut(MainForm->m_nCameraOutMode, 1.0);
// CCSBClear();
Board2->Refresh();
return 2;
}
if(szString[2 + i] != '}' &&
szString[2 + i] != '{') {
char szTempString[512];
strcpy(szTempString, &szString[1]);
int i;
int nLength = strlen(szTempString);
int nCommaFlag = 0;
for(i = 0; i < nLength; i ++) {
char c = szTempString[i];
if(c == ',') nCommaFlag ++;
if(c == '}') {
szTempString[i] = 0;
break;
}
}
if(i >= nLength) return 0;
if(nCommaFlag == 0) return 0;
int nShiftX, nShiftY;
if(nCommaFlag == 1) {
sscanf(szTempString, "%d,%d", &nShiftX, &nShiftY);
if(nShiftX < 0 || nShiftY < 0) return 0;
if(nShiftX >= Board2->Image1->Width) return 0;
if(nShiftY >= Board2->Image1->Height) return 0;
ShiftCameraToPosition(nShiftX, nShiftY);
} else if(nCommaFlag == 3) {
int nWidth, nHeight;
sscanf(szTempString, "%d,%d,%d,%d", &nShiftX, &nShiftY, &nWidth, &nHeight);
if(nShiftX < 0 || nShiftY < 0) return 0;
if(nShiftX >= Board2->Image1->Width) return 0;
if(nShiftY >= Board2->Image1->Height) return 0;
ShiftCameraToPosition(nShiftX, nShiftY, -nWidth, -nHeight);
}
DewClear();
return strlen(szTempString) + 2;
}
int nNumber = szString[1 + i];
if(nNumber == ' ') {
// CameraShiftOut(MainForm->m_nCameraOutMode, 1.0);
// CCSBClear();
CameraOut2LightDOP();
tagSetBackgroundPicture arg;
SetBackgroundPictureInit(&arg);
arg.color = g_MemoBoard.m_Color;
arg.nShowMode = SBGP_SHOWMODE_COLOR;
if(BackgroundForm->Visible) SetBackgroundPictureAction(&arg);
arg.nShowMode = SBGP_SHOWMODE_COPYBOARD2;
if(BackgroundForm->Visible) SetBackgroundPictureAction(&arg);
strcpy(g_szBackgroundFileName, "");
g_nBackgroundShowMode = SBGP_SHOWMODE_COPYBOARD2;
g_nBackgroundColor = g_MemoBoard.m_Color;
strcpy(g_szBackgroundFileName, "");
g_nBackgroundShowMode = SBGP_SHOWMODE_COPYBOARD2;
g_nBackgroundColor = g_MemoBoard.m_Color;
return 3;
}
int nSign = 1;
if(szString[2 + i] == '{') nSign = -1;
if(nNumber == '!') {
LockLittleCamera(55 * nSign);
return 3;
} else if(nNumber == '@') {
LockLittleCamera(56 * nSign);
return 3;
} else if(nNumber == '#') {
LockLittleCamera(57 * nSign);
return 3;
} else if(nNumber == '$') {
LockLittleCamera(58 * nSign);
return 3;
} else if(nNumber == '%' || nNumber == 'L' || nNumber == 'l') {
LockLittleCamera(59 * nSign);
return 3;
} else if(nNumber == '^' || nNumber == 'R' || nNumber == 'r') {
LockLittleCamera(60 * nSign);
return 3;
} else if(nNumber == '&' || nNumber == 以上是关于TEASOFT软件 | 动作帮助信息定义语法的主要内容,如果未能解决你的问题,请参考以下文章