Compare commits

..

No commits in common. "b59c76d0bb1e4d41d6041507fc1d84ad4b773f4a" and "0183ede4f31c652027a2ae5b9d11d646317bb2af" have entirely different histories.

7 changed files with 95 additions and 26227 deletions

Binary file not shown.

25919
audio.xml

File diff suppressed because it is too large Load Diff

BIN
bass.dll

Binary file not shown.

View File

@ -1,79 +0,0 @@
sqr/Core/ENUM/ENUM_KEY.nut
sqr/Core/ENUM/enum_system.nut
sqr/Core/BaseTool/BaseTool.nut
sqr/Core/BaseTool/Math.nut
sqr/Core/BaseTool/String.nut
sqr/Core/BaseTool/BlobExClass.nut
sqr/Core/BaseTool/JsonClass/JsonClass.nut
sqr/Core/BaseTool/JsonClass/Json.nut
sqr/Core/BaseClass/ScriptManager/ScriptManager.nut
sqr/Core/BaseClass/ScriptManager/InitAni.nut
sqr/Core/BaseClass/Game_Window_Class.nut
sqr/Core/BaseClass/BaseObject.nut
sqr/Core/BaseClass/AudioClass.nut
sqr/Core/BaseClass/StageClass.nut
sqr/Core/BaseClass/ActorObject.nut
sqr/Core/BaseClass/LayerObject.nut
sqr/Core/BaseClass/UserStorage.nut
sqr/Core/BaseClass/SpriteObject/SpriteFrameClass.nut
sqr/Core/BaseClass/SpriteObject/SpriteClass.nut
sqr/Core/BaseClass/TextObject/Font.nut
sqr/Core/BaseClass/TextObject/TextActor.nut
sqr/Core/BaseClass/AnimationClass/AnimationClass.nut
sqr/Core/ExtraCalss/Socket/Socket.nut
sqr/Core/Game_Proc/Game_Proc.nut
sqr/Core/UI_Class/UI_Cursor.nut
sqr/Core/UI_Class/UI_Core.nut
sqr/Core/UI_Class/UI_Widget.nut
sqr/User/_ENUM/global_object.nut
sqr/User/_ENUM/enum_music.nut
sqr/User/_ENUM/enum_packet.nut
sqr/User/_ENUM/enum_game.nut
sqr/User/Socket/Socket.nut
sqr/User/Asset/AssetManager.nut
sqr/User/Asset/FontAsset.nut
sqr/User/Asset/Character/Animation.nut
sqr/User/Asset/Item/Item.nut
sqr/User/Asset/Item/Equipment.nut
sqr/User/Object/StateMachine/StateMachineClass.nut
sqr/User/Object/Object/BaseObject.nut
sqr/User/Object/Object/AnimationObject.nut
sqr/User/Object/Map/TileObject.nut
sqr/User/Object/Map/MapObject.nut
sqr/User/Object/ActiveObject/GameObjectClass.nut
sqr/User/Object/ActiveObject/StaticObjectClass.nut
sqr/User/Object/ActiveObject/ActiveObjectClass.nut
sqr/User/Object/ActiveObject/PassiveObjectClass.nut
sqr/User/Object/ActiveObject/MonsterObjectClass.nut
sqr/User/Object/ActiveObject/CharacterObjectClass.nut
sqr/User/Object/ActiveObject/CharacterObjectClass_AI.nut
sqr/User/Socket/Socket.nut
sqr/User/Stage/LodingStage.nut
sqr/User/Stage/TestStage.nut
sqr/User/UI/Widget/IMouse.nut
sqr/User/UI/Widget/InputBox.nut
sqr/User/UI/Widget/Drag_Button.nut
sqr/User/UI/Widget/Scroll_Bar.nut
sqr/User/UI/Widget/Text_Button.nut
sqr/User/UI/Window/0_Login.nut
sqr/User/UI/Window/1_Select_Character.nut
sqr/User/UI/Window/2_create_Character.nut
sqr/User/UI/Window/233_HUD_Message.nut
sqr/User/main.nut

View File

@ -5,8 +5,8 @@
文件用途:音频类
*/
if (!(getroottable().rawin("_Globa_Audio_Volume_"))) _Globa_Audio_Volume_ <- 1.0;
if (!(getroottable().rawin("_Globa_Sound_Volume_"))) _Globa_Sound_Volume_ <- 1.0;
class Audio extends CL_BaseObject {
if (!(getroottable().rawin("_SoundEffect_List_"))) _SoundEffect_List_ <- [];
class Sound extends CL_BaseObject {
//名称
Name = null;
//路径
@ -57,6 +57,24 @@ class Audio extends CL_BaseObject {
}
}
class SoundEffect extends Sound {
constructor(Name) {
base.constructor(Name);
//加入全局临时音效组
JoinSoundEffect();
//默认调用播放
Play();
}
//加入全局临时音效组
function JoinSoundEffect() {
_SoundEffect_List_.append(this);
}
}
class AudioControlClass {
//当前播放音乐集合
@ -64,6 +82,10 @@ class AudioControlClass {
//音源库
MusicList = null;
//销毁临时音效的时间Flag
CloseSoundEffectTimeFlag = 0;
//销毁临时音效的间隔时间 //5秒一次
CloseSoundEffectTime = 5000;
//销毁音乐的时间Flag
CloseMusicTimeFlag = 0;
//销毁音乐的间隔时间 //5秒一次
@ -142,10 +164,25 @@ class AudioControlClass {
//移除音乐(淡出)
RemoveMusic(dt);
//销毁临时音效
CloseSoundEffect(dt);
//销毁音乐
CloseMusic(dt);
}
function CloseSoundEffect(dt) {
CloseSoundEffectTimeFlag += dt;
if (CloseSoundEffectTimeFlag >= CloseSoundEffectTime) {
for (local i = 0; i< _SoundEffect_List_.len(); i++) {
local SoundEffectObj = _SoundEffect_List_[i];
//播放完成销毁资源
if (!SoundEffectObj.IsPlaying()) {
_SoundEffect_List_.remove(i);
}
}
CloseSoundEffectTimeFlag = 0;
}
}
function CloseMusic(dt) {
CloseMusicTimeFlag += dt;
@ -175,7 +212,7 @@ if (!(getroottable().rawin("AudioControl"))) _Global_AudioControl_ <- AudioContr
//播放临时音效
function Sq_PlaySoundEffect(Name) {
return Sound_PlayEffect(Name.tolower(), _Globa_Sound_Volume_);
return SoundEffect(Name);
}
//全局音效逻辑

View File

@ -228,12 +228,10 @@ class _CreateCharacter extends Yosin_Window {
firedustAni = null;
auraAni = null;
enter = null;
changJobAniClock = null;
changNextJobAniClock = null;
jobIndex = null;
nextJobIndex = null;
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
@ -249,52 +247,6 @@ class _CreateCharacter extends Yosin_Window {
}
function RegisterDraw() {
//大背景
BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 0);
Addchild(BackGround);
// 人物图片
jobImg = CL_SpriteObject("sprite/interface2/charactercreatever2/basecharctertitle.img", 0);
jobImg.SetPosition(0, 0);
Addchild(jobImg);
// 下一个人物图片
nextJobImg = CL_SpriteObject("sprite/interface2/charactercreatever2/basecharctertitle.img", 11);
nextJobImg.SetPosition(500, 0);
nextJobImg.SetOpacity(0);
Addchild(nextJobImg);
// 光动画 ui/charactercreate/topdodge.ani
topLightObj = Animation("ui/charactercreate/topdodge.ani");
topLightObj.SetPosition(0, 0);
Addchild(topLightObj);
// 底部光动画
lightAni = Animation("ui/charactercreate/dust.ani");
lightAni.SetPosition(0, 0);
// lightAni.SetVisible(false);
Addchild(lightAni);
firedustAni = Animation("ui/charactercreate/firedust.ani");
firedustAni.SetPosition(0, 0);
firedustAni.SetVisible(false);
Addchild(firedustAni);
dustAni = Animation("ui/charactercreate/dust.ani");
dustAni.SetPosition(0, 0);
dustAni.SetVisible(false);
Addchild(dustAni);
auraAni = Animation("ui/charactercreate/aura.ani");
auraAni.SetPosition(0, 0);
auraAni.SetVisible(false);
Addchild(auraAni);
}
function RegisterWidget() {
//头像
headList = _CreateCharacter_SelectBaseHeadList(135, 40);
@ -308,46 +260,7 @@ class _CreateCharacter extends Yosin_Window {
// 创建职业
infoWidget.OnClick = function () {
enter.SetVisible(true);
}.bindenv(this);
// 返回按钮
local backButton = Yosin_BaseButton(986, 30, 45, 12 "sprite/interface2/charactercreatever2/common_add.img", 0);
//点击事件回调
backButton.OnClick = function(Button) {
CloseWindow();
}.bindenv(this);
local backText = FontAssetManager.GenerateNormal("返回", true, {
color = sq_RGBA(159, 137, 80, 255)
});
backText.SetUpdateFunc(function(Text, Dt) {
if (Text.Parent.State == 1 || Text.Parent.State == 2) {
Text.SetFillColor(sq_RGBA(225, 218, 126, 255));
} else if (Text.Parent.State == 0) {
Text.SetFillColor(sq_RGBA(159, 137, 80, 255));
}
})
backText.SetPosition(16, -2.5);
backButton.Addchild(backText);
AddUIChild(backButton);
// 输入名字
enter = _create_Character_enterName();
enter.SetVisible(false);
AddUIChild(enter);
// 确定
enter.OnClick = function (enterName) {
local jobEnum = getJobEnum(jobIndex);
MySocket.Send(9, {
name = enterName,
gkb = jobEnum,
})
}.bindenv(this);
}
@ -355,11 +268,11 @@ class _CreateCharacter extends Yosin_Window {
// 切换职业
function changJob(index) {
if (index == jobIndex) return;
if (index == nextJobIndex) return;
local jobEnum = getJobEnum(index);
jobIndex = index;
nextJobIndex = index;
// 切换背景
BackGround.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/characterbackground.img", jobEnum));
nextJobImg.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/basecharctertitle.img", jobEnum));
@ -457,13 +370,13 @@ class _CreateCharacter extends Yosin_Window {
}.bindenv(this), function () {
changNextJobAniClock = null;
local jobEnum = getJobEnum(jobIndex);
local jobEnum = getJobEnum(nextJobIndex);
jobImg.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/basecharctertitle.img", jobEnum ));
jobImg.SetOpacity(1);
jobImg.SetPosition(0, 0);
if (jobIndex < 16) {
nextJobImg.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/basecharctertitle.img", getJobEnum(jobIndex + 1)));
if (nextJobIndex < 16) {
nextJobImg.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/basecharctertitle.img", getJobEnum(nextJobIndex + 1)));
nextJobImg.SetOpacity(0);
nextJobImg.SetPosition(500, 0);
}
@ -472,8 +385,53 @@ class _CreateCharacter extends Yosin_Window {
}
function RegisterDraw() {
//大背景
BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 0);
Addchild(BackGround);
// 人物图片
jobImg = CL_SpriteObject("sprite/interface2/charactercreatever2/basecharctertitle.img", 0);
jobImg.SetPosition(0, 0);
Addchild(jobImg);
// 下一个人物图片
nextJobImg = CL_SpriteObject("sprite/interface2/charactercreatever2/basecharctertitle.img", 11);
nextJobImg.SetPosition(500, 0);
nextJobImg.SetOpacity(0);
Addchild(nextJobImg);
// 光动画 ui/charactercreate/topdodge.ani
topLightObj = Animation("ui/charactercreate/topdodge.ani");
topLightObj.SetPosition(0, 0);
Addchild(topLightObj);
// 底部光动画
lightAni = Animation("ui/charactercreate/dust.ani");
lightAni.SetPosition(0, 0);
// lightAni.SetVisible(false);
Addchild(lightAni);
firedustAni = Animation("ui/charactercreate/firedust.ani");
firedustAni.SetPosition(0, 0);
firedustAni.SetVisible(false);
Addchild(firedustAni);
dustAni = Animation("ui/charactercreate/dust.ani");
dustAni.SetPosition(0, 0);
dustAni.SetVisible(false);
Addchild(dustAni);
auraAni = Animation("ui/charactercreate/aura.ani");
auraAni.SetPosition(0, 0);
auraAni.SetVisible(false);
Addchild(auraAni);
}
//逻辑入口
function Proc(Dt) {
@ -743,116 +701,10 @@ class HeadButton extends Yosin_CommonUi {
}
}
// 输入角色名称
class _create_Character_enterName extends Yosin_Window {
nameInputBox = null;
//是否为独立窗口
IsIndependent = false;
OnClick = null;
constructor() {
base.constructor("输入角色名称", 0, 0, 1066, 600, 0);
//背景
local background = Yosin_NineBoxStretch(-2, 0, 1070, 604, "sprite/interface/lenheartwindowcommon.img", 97);
AddUIChild(background);
//背景
local background = Yosin_NineBoxStretch(413, 228, 240, 140, "sprite/interface/lenheartwindowcommon.img", 97);
AddUIChild(background);
// 标题文字
local title = CL_SpriteObject("sprite/interface2/charactercreatever2/charctertitle.img", 13);
title.SetPosition(477.5, 240);
Addchild(title);
// 输入框
nameInputBox = Yosin_InputBox(433, 270, 150);
AddUIChild(nameInputBox);
// 重复检查按钮
local checkButton = Yosin_BaseButton(593, 267, 46, 24 "sprite/interface/lenheartwindowcommon.img", 400);
checkButton.State = 3;
checkButton.SetUpdateFunc(function(button, Dt) {
if (button.Parent.nameInputBox.str.len() > 0) {
button.State = 0;
}else{
button.State = 3;
}
})
//点击事件回调
checkButton.OnClick = function(Button) {
if (OnClick != null) OnClick(Button.Parent.nameInputBox.str);
}.bindenv(this);
//按钮文本
local checkTextActor = FontAssetManager.GenerateNormal("重复", true, {
color = sq_RGBA(200, 195, 169, 255)
});
checkTextActor.SetPosition(11, 4);
checkButton.Addchild(checkTextActor);
AddUIChild(checkButton);
//提示文本
local tipTextActor = FontAssetManager.GenerateNormal("最多可以输入2~6个汉字、12个英文字符。", true, {
color = sq_RGBA(200, 195, 169, 255)
wrap_width = 150,
});
tipTextActor.SetPosition(458, 300);
Addchild(tipTextActor);
// 确认检查按钮
local affirmButton = Yosin_BaseButton(473, 338, 46, 24 "sprite/interface/lenheartwindowcommon.img", 400);
affirmButton.State = 3;
affirmButton.SetUpdateFunc(function(button, Dt) {
if (button.Parent.nameInputBox.str.len() > 0) {
button.State = 0;
}else{
button.State = 3;
}
})
//点击事件回调
affirmButton.OnClick = function(Button) {
}.bindenv(this);
//按钮文本
local affirmTextActor = FontAssetManager.GenerateNormal("确认", true, {
color = sq_RGBA(153,128,71, 255)
});
affirmTextActor.SetPosition(11, 4);
affirmButton.Addchild(affirmTextActor);
AddUIChild(affirmButton);
// 取消检查按钮
local cancelButton = Yosin_BaseButton(533, 338, 46, 24 "sprite/interface/lenheartwindowcommon.img", 400);
//点击事件回调
cancelButton.OnClick = function(button) {
nameInputBox.str = "";
button.Parent.SetVisible(false);
}.bindenv(this);
//按钮文本
local cancelTextActor = FontAssetManager.GenerateNormal("取消", true, {
color = sq_RGBA(153,128,71, 255)
});
cancelTextActor.SetPosition(11, 4);
cancelButton.Addchild(cancelTextActor);
AddUIChild(cancelButton);
}
//逻辑入口
function Proc(Dt) {
SyncPos(X, Y);
base.Proc(Dt);
}
}

View File

@ -1,23 +0,0 @@
/*
文件名:enum_music.nut
路径:User/_ENUM/enum_music.nut
创建日期:2024-12-19 01:36
文件用途:枚举音乐
*/
enum MUSIC {
M_CHARACTER_SELECT = "music/characterSelectStage.ogg"
}
enum SOUND {
BUTTON_01 = "sounds/UI/button_01.ogg"
BUTTON_02 = "sounds/UI/button_02.ogg"
BUTTON_03 = "sounds/UI/button_03.ogg"
BUTTON_04 = "sounds/UI/button_04.ogg"
BUTTON_05 = "sounds/UI/button_05.ogg"
BUTTON_06 = "sounds/UI/button_06.ogg"
CLICK_BUTTON1 = "sounds/UI/click1.ogg"
CLICK_BUTTON2 = "sounds/UI/click2.ogg"
CLICK_BUTTON3 = "sounds/UI/click3.ogg"
CLICK_BUTTON4 = "sounds/UI/click4.ogg"
}