八爪鱼拉拉手

欢迎来到程序小院

八爪鱼拉拉手

玩法:点击鼠标左键拖动移动八爪鱼,当他的手很忙的时候他会很高兴,
不同关卡不同的八爪鱼的位置摆放,快去闯关吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/248

html

<div id="gameContainer"></div>
<div id="orientation"></div>

css

#orientation {
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../assets/graphics/rotate-phone.png);
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
    z-index: 999;
    display: none;
}

@font-face {
    font-family: 'GrilledCheeseBTNToasted';
    font-style: normal;
    font-weight: normal;
    src: local('GrilledCheeseBTNToasted'), 
    url('../assets/fonts/GrilledCheeseBTNToasted.woff') format('woff');
}

js

function onLoad() {
    new game.Main
}
var game; !
function(t) {
    var e = function() {
        function t() {}
        return t.GAME_WIDTH = 640,
        t.GAME_HEIGHT = 832,
        t.HALF_GAME_WIDTH = .5 * t.GAME_WIDTH,
        t.HALF_GAME_HEIGHT = .5 * t.GAME_HEIGHT,
        t.LEVELS_NUM = 60,
        t
    } ();
    t.Config = e
} (game || (game = {}));
var __extends = this.__extends ||
function(t, e) {
    function i() {
        this.constructor = t
    }
    for (var a in e) e.hasOwnProperty(a) && (t[a] = e[a]);
    i.prototype = e.prototype,
    t.prototype = new i
},
game; !
function(t) {
    var e = function(e) {
        function i() {
            e.apply(this, arguments)
        }
        return __extends(i, e),
        i.prototype.init = function() {
            this.game.device.android && !this.game.device.chrome && (
            this.game.canvas.parentElement.style.overflow = "visible");
            var t = {
                font: "10px GrilledCheeseBTNToasted"
            },
            e = this.add.text(0, 0, "0", t);
            e.destroy()
        },
        i.prototype.preload = function() {
            this.load.image("rotate", "assets/graphics/rotate-phone.png"),
            this.load.image("LoadingBar_Outer", "assets/graphics/LoadingBar_Outer.png"),
            this.load.image("LoadingBar_Inner", "assets/graphics/LoadingBar_Inner.png")
        },
        i.prototype.create = function() {
            var e = this.game.scale;
            e.scaleMode = Phaser.ScaleManager.SHOW_ALL,
            e.minWidth = .25 * t.Config.GAME_WIDTH,
            e.minHeight = .25 * t.Config.GAME_HEIGHT,
            e.aspectRatio = t.Config.GAME_WIDTH / t.Config.GAME_HEIGHT,
            e.pageAlignHorizontally = !0,
            e.pageAlignVertically = !0,
            this.game.device.desktop || e.forceOrientation(!1, !0),
            e.enterIncorrectOrientation.add(this.onEnterIncorrectOrientation, this),
            e.leaveIncorrectOrientation.add(this.onLeaveIncorrectOrientation, this),
            e.setScreenSize(!0),
            this.input.maxPointers = 1,
            this.stage.disableVisibilityChange = !0,
            this.stage.backgroundColor = 8179412,
            this.game.state.start("Preloader", !0, !1)
        },
        i.prototype.onEnterIncorrectOrientation = function() {
            document.getElementById("orientation").style.display = "block",
            document.body.style.marginBottom = "0px"
        },
        i.prototype.onLeaveIncorrectOrientation = function() {
            document.getElementById("orientation").style.display = "none",
            document.body.style.marginBottom = "100px",
            this.game.device.android && !this.game.device.chrome && 
            this.game.scale.setScreenSize(!0)
        },
        i
    } (Phaser.State);
    t.Boot = e
} (game || (game = {}));
var game; !
function(t) {
    var e = function(t) {
        function e() {
            t.apply(this, arguments)
        }
        return __extends(e, t),
        e.prototype.create = function() {},
        e.prototype.addSplash = function() {},
        e.prototype.gotoMainMenu = function() {
            this.game.state.start("MainMenu", !0, !1, !0)
        },
        e
    } (Phaser.State);
    t.SplashScreen = e
} (game || (game = {}));
var game; !
function(t) {
    var e = function(e) {
        function i(i, a) {
            e.call(this, i, a),
            this.overlayDuration = 300;
            var n = i.add.bitmapData(t.Config.GAME_WIDTH, t.Config.GAME_HEIGHT, 
            "overlay", !0);
            n.context.fillStyle = "rgba(0, 0, 0, 1)",
            n.context.fillRect(0, 0, t.Config.GAME_WIDTH, t.Config.GAME_HEIGHT),
            this.overlay = new Phaser.Image(i, 0, 0, n),
            this.overlay.visible = !1,
            this.game.stage.addChild(this.overlay)
        }
        return __extends(i, e),
        i.prototype.changeState = function(t, e) {
            this.showOverlay(t, e)
        },
        i.prototype.showOverlay = function(t, e) {
            var i = this;
            this.game.input.disabled = !0,
            this.overlayTween && this.overlayTween.isRunning && this.overlayTween.stop(),
            this.overlay.visible = !0,
            this.overlay.alpha = 0,
            this.overlayTween = this.game.add.tween(this.overlay).to({
                alpha: 1
            },
            this.overlayDuration, Phaser.Easing.Cubic.Out, !0),
            this.overlayTween.onComplete.addOnce(function() {
                i.doChangeState(t, e)
            },
            this)
        },
        i.prototype.doChangeState = function(t, e) {
            var i = this;
            this.game.state.start(t, !0, !1, e),
            setTimeout(function() {
                i.hideOverlay()
            },
            100),
            setTimeout(function() {
                i.overlay.visible && (i.overlay.visible = !1)
            },
            100 + this.overlayDuration)
        },
        i.prototype.hideOverlay = function() {
            this.game.input.disabled = !1,
            this.overlayTween && this.overlayTween.isRunning && this.overlayTween.stop(),
            this.overlayTween = this.game.add.tween(this.overlay).to({
                alpha: 0
            },
            this.overlayDuration, Phaser.Easing.Cubic.Out, !0)
        },
        i
    } (Phaser.Plugin);
    t.StateTransition = e
} (game || (game = {}));
var game; !
function(t) {
    var e = function(e) {
        function i() {
            e.apply(this, arguments)
        }
        return __extends(i, e),
        i.prototype.init = function() {
            this.addLoadingText()
        },
        i.prototype.addLoadingText = function() {
            var e = {
                font: "45px GrilledCheeseBTNToasted",
                fill: "#FFFFFF",
                align: "center"
            },
            i = this.game.add.text(0, 0, "Loading...", e);
            i.anchor.set(.5, .5),
            i.position.set(t.Config.HALF_GAME_WIDTH, t.Config.HALF_GAME_HEIGHT + 100),
            i.setShadow(2, 2, "#249BC8")
        },
        i.prototype.preload = function() {
            this.addPreloadBar(),
            this.loadAssets()
        },
        i.prototype.addPreloadBar = function() {
            if (t.Main.development === !1) {
                var e = this.game.add.sprite(0, 0, "LoadingBar_Inner");
                e.x = t.Config.HALF_GAME_WIDTH - .5 * e.width - .5,
                e.y = t.Config.HALF_GAME_HEIGHT - .5 * e.height - 1.5;
                var i = this.add.image(0, 0, "LoadingBar_Outer");
                i.anchor.set(.5, .5),
                i.x = t.Config.HALF_GAME_WIDTH - .5,
                i.y = t.Config.HALF_GAME_HEIGHT,
                this.load.setPreloadSprite(e)
            }
        },
        i.prototype.loadAssets = function() {
            this.load.audio("main_loop", ["assets/audio/MainLoop.ogg", 
            "assets/audio/MainLoop.m4a"], !0),
            this.game.device.webAudio && (this.load.audio("tap", [
            "assets/audio/TapSound.wav"], !0), this.load.audio("onLevelComplete", [
            "assets/audio/LevelCompleteSound.wav"], !0), this.load.audio("on_down", [
            "assets/audio/OnDown.wav"], !0), this.load.audio("on_up", [
            "assets/audio/OnUp.wav"], !0), this.load.audio("star", [
            "assets/audio/Star.wav"], !0), this.load.audio("star_taken", [
            "assets/audio/StarTaken.wav"], !0)),
            // this.load.image("splash_screen", "assets/graphics/Splash_Image_play68.png"),
            this.load.atlasJSONHash("gui", "assets/graphics/gui.png", 
            "assets/graphics/gui.json"),
            this.load.atlasJSONHash("level_graphics", 
            "assets/graphics/level_graphics.png", "assets/graphics/level_graphics.json"),
            this.load.atlasJSONHash("manta_ray", "assets/graphics/manta_ray.png",
            "assets/graphics/manta_ray.json"),
            this.load.atlasJSONHash("level_complete", "assets/graphics/
            level_complete.png", "assets/graphics/level_complete.json"),
            this.load.atlasJSONHash("tutor_hand", "assets/graphics/tutorial_hand.png", 
            "assets/graphics/tutorial_hand.json"),
            this.load.atlasJSONHash("tutorial", "assets/graphics/tutorial.png", 
            "assets/graphics/tutorial.json"),
            this.load.atlasJSONHash("yellow_fish", "assets/graphics/yellow_fish.png",
            "assets/graphics/yellow_fish.json"),
            this.load.atlasJSONHash("pink_fish", "assets/graphics/pink_fish.png",
            "assets/graphics/pink_fish.json"),
            this.load.json("texts", "assets/texts.json"),
            t.Main.development ? this.load.json("startLevel", "assets/levels/
            StartLevel.json") : this.load.json("levelConfigs", "assets/levels/Levels.json")
        },
        i.prototype.create = function() {
            this.initLanguage(),
            this.prepareTextures(),
            this.game.plugins.add(t.StateTransition),
            this.game.cache.removeImage("LoadingBar_Outer"),
            this.game.cache.removeImage("LoadingBar_Inner"),
            t.Main.development && this.cache.getJSON("startLevel").level,
            this.game.state.start("MainMenu", !0, !1, !0)
        },
        i.prototype.initLanguage = function() {
            var e = this.game.cache.getJSON("texts");
            t.Main.texts = e[t.Main.language]
        },
        i.prototype.prepareTextures = function() {},
        i
    } (Phaser.State);
    t.Preloader = e
} (game || (game = {}));
var game; !
function(t) {
    var e = function(t) {
        function e(e, i, a, n, s) {
            var o = this;
            t.call(this, e, i, a, n, s),
            this._callback = new Phaser.Signal,
            this.anchor.set(.5, .5),
            this.inputEnabled = !0,
            this.game.device.desktop && (this.input.useHandCursor = !0),
            this.inputEnabled && (this.events.onInputDown.add(function() {
                o.game.device.webAudio && o.game.sound.play("tap"),
                o.game.add.tween(o.scale).to({
                    x: .9,
                    y: .9
                },
                200, Phaser.Easing.Cubic.Out, !0)
            }), this.events.onInputUp.add(function() {
                o.game.add.tween(o.scale).to({
                    x: 1,
                    y: 1
                },
                100, Phaser.Easing.Cubic.Out, !0).onComplete.addOnce(o._callback.dispatch, o)
            }))
        }
        return __extends(e, t),
        e.prototype.destroy = function() {
            t.prototype.destroy.call(this),
            this._callback.dispose()
        },
        Object.defineProperty(e.prototype, "callback", {
            get: function() {
                return this._callback
            },
            enumerable: !0,
            configurable: !0
        }),
        e
    } (Phaser.Image);
    t.SimpleButton = e
} (game || (game = {}));
var game; !
function(t) {
    var e = function(t) {
        function e(e, i, a, n, s) {
            t.call(this, e, i, a, "gui", n),
            this.textureKey1 = n,
            this.textureKey2 = s,
            this.activeTextureKey = this.textureKey1,
            this._state = 1,
            this.events.onInputUp.add(this.switchTextures, this, 2)
        }
        return __extends(e, t),
        e.prototype.switchTextures = function() {
            this.activeTextureKey = this.activeTextureKey === this.textureKey1 ? 
            this.textureKey2: this.textureKey1,
            this.loadTexture("gui", this.activeTextureKey),
            this._state = this.activeTextureKey === this.textureKey1 ? 1 : 2
        },
        Object.defineProperty(e.prototype, "state", {
            get: function() {
                return this._state
            },
            enumerable: !0,
            configurable: !0
        }),
        e
    } (game.SimpleButton);
    t.ToggleButton = e
} (game || (game = {}));
var game; !
function(t) {
    var e = function(e) {
        function i() {
            e.apply(this, arguments),
            this.fromPreloader = !1
        }
        return __extends(i, e),
        i.prototype.init = function(t) {
            this.fromPreloader = t
        },
        i.prototype.create = function() {
            this.initImages(),
            this.addCreatures(),
            this.initButtons(),
            this.initLogo(),
            this.initCredits(),
            this.initAnimation(),
            this.fromPreloader && (this.soundButton.input.enabled = !1, 
            this.soundButton.switchTextures(), this.game.input.onTap.addOnce(
            this.startMusic, this), this.stage.disableVisibilityChange = !1, 
            this.game.onBlur.add(this.onFocusLost, this), this.game.onFocus.add(
            this.onFocus, this))
        },
        i.prototype.onFocusLost = function() {
            this.game.tweens.pauseAll(),
            t.Main.wasMuted = this.game.sound.mute,
            this.game.sound.mute = !0
        },
        i.prototype.onFocus = function() {
            this.game.tweens.resumeAll(),
            t.Main.wasMuted === !1 && (this.game.sound.mute = !1)
        },
        i.prototype.initImages = function() {
            this.game.add.image( - 32, 0, "gui", "BG_20000"),
            this.title = this.add.image(0, 0, "gui", "GameTitle0000"),
            this.title.anchor.set(.5, .5),
            this.title.x = t.Config.HALF_GAME_WIDTH - .5,
            this.title.y = 150
        },
        i.prototype.addCreatures = function() {
            this.needlefish = this.game.add.image(t.Config.HALF_GAME_WIDTH + 15, 550,
            "gui", "Needlefish0000"),
            this.needlefish.angle = 120,
            this.octopus = this.game.add.image(t.Config.HALF_GAME_WIDTH + 190, 760, 
            "gui", "Octopus0000"),
            this.jelly = this.game.add.image(t.Config.HALF_GAME_WIDTH - 145, 740, 
            "gui", "Jelly0000"),
            [this.needlefish, this.octopus, this.jelly].forEach(function(t) {
                t.anchor.set(.5, .5)
            })
        },
        i.prototype.initButtons = function() {
            var e = this,
            i = 60;
            this.soundButton = new t.ToggleButton(this.game, t.Config.GAME_WIDTH - i, i,
            "Music_On_Button0000", "Music_Off_Button0000"),
            this.soundButton.callback.add(function() {
                e.game.sound.mute = !e.game.sound.mute
            }),
            this.game.sound.mute && this.soundButton.switchTextures(),
            this.playButton = new t.SimpleButton(this.game, t.Config.HALF_GAME_WIDTH, 
            330, "gui", "Play_Button0000"),
            this.playButton.callback.addOnce(function() {
                e.game.changeState("LevelsMenu")
            },
            this),
            this.creditsButton = new t.SimpleButton(this.game, this.playButton.x + 130, 
            this.playButton.y, "gui", "Credits_Button0000"),
            this.creditsButton.callback.add(this.toggleCredits, this),
            this.moreGamesButton = new t.SimpleButton(this.game, this.playButton.x - 130, 
            this.playButton.y, "gui", "MoreGames_Button0000"),
            this.moreGamesButton.callback.add(this.gotoDeveloperWebsite, this),
            this.buttons = [this.playButton, this.soundButton, this.moreGamesButton, 
            this.creditsButton],
            this.buttons.forEach(function(t) {
                e.world.add(t)
            })
        },
        i.prototype.gotoDeveloperWebsite = function() {
            // Play68.goHome()
        },
        i.prototype.initLogo = function() {},
        i.prototype.initCredits = function() {
            this.credits = this.game.add.image(0, 0, "gui", "CreditsBoard0000"),
            this.credits.position.set(Math.round(.5 * (t.Config.GAME_WIDTH - 
            this.credits.width)), Math.round(.5 * (t.Config.GAME_HEIGHT - 
            this.credits.height))),
            this.credits.visible = !1
        },
        i.prototype.toggleCredits = function() {
            this.credits.visible ? this.hideCredits() : this.showCredits()
        },
        i.prototype.hideCredits = function() {
            var t = this;
            this.game.add.tween(this.credits).to({
                y: this.credits.y + 200,
                alpha: 0
            },
            500, Phaser.Easing.Back.In, !0).onComplete.addOnce(function() {
                t.playButton.input.enabled = !0,
                t.creditsButton.input.enabled = !0,
                t.credits.visible = !1
            },
            this)
        },
        i.prototype.showCredits = function() {
            var e = this;
            this.credits.visible = !0,
            this.credits.alpha = 0,
            this.credits.y = Math.round(.5 * (t.Config.GAME_HEIGHT - 
            this.credits.height)) + 200,
            this.game.add.tween(this.credits).to({
                y: this.credits.y - 200,
                alpha: 1
            },
            500, Phaser.Easing.Back.Out, !0),
            this.playButton.input.enabled = !1,
            this.creditsButton.input.enabled = !1,
            this.game.input.onTap.addOnce(function() {
                e.hideCredits()
            },
            this)
        },
        i.prototype.startMusic = function() {
            this.game.sound.play("main_loop", .33, !1),
            this.soundButton.switchTextures(),
            this.soundButton.input.enabled = !0
        },
        i.prototype.initAnimation = function() {
            var t = this;
            this.title.y -= 280,
            this.game.add.tween(this.title).to({
                y: this.title.y + 280
            },
            600, Phaser.Easing.Back.Out, !0, 300);
            var e = 800;
            this.needlefish.y += 500,
            this.octopus.x += 400,
            this.jelly.x -= 400,
            this.game.add.tween(this.needlefish).to({
                y: this.needlefish.y - 500,
                angle: 354
            },
            700, Phaser.Easing.Back.Out, !0, e),
            this.game.add.tween(this.octopus).to({
                x: this.octopus.x - 400
            },
            600, Phaser.Easing.Back.Out, !0, e + 300),
            this.game.add.tween(this.jelly).to({
                x: this.jelly.x + 400
            },
            600, Phaser.Easing.Back.Out, !0, e + 300);
            var i = 1600;
            this.buttons.forEach(function(e) {
                e.scale.set(0, 0),
                t.game.add.tween(e.scale).to({
                    x: 1,
                    y: 1
                },
                300, Phaser.Easing.Back.Out, !0, i),
                i += 200
            })
        },
        i.prototype.destroy = function() {
            this.buttons = null
        },
        i
    } (Phaser.State);
    t.MainMenu = e
} (game || (game = {}));

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/318575.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Gauss消去法(C++)

文章目录 算法描述顺序Gauss消去法列选主元Gauss消去法全选主元Gauss消去法Gauss-Jordan消去法 算法实现顺序Gauss消去法列选主元Gauss消去法全选主元Gauss消去法列选主元Gauss-Jordan消去法 实例分析 Gauss消去法是求解线性方程组较为有效的方法, 它主要包括两个操作, 即消元和…

开源云原生安全的现状

近年来&#xff0c;人们非常重视软件供应链的安全。尤其令人担忧的是开源软件发行版中固有的风险越来越多。这引发了围绕云原生开源安全的大量开发&#xff0c;其形式包括软件物料清单 (SBOM)、旨在验证 OSS 包来源的项目等。 许多组织循环使用大型开源包&#xff0c;但只使用…

NLP技术在搜索推荐场景中的应用

NLP技术在搜索推荐中的应用非常广泛&#xff0c;例如在搜索广告的CTR预估模型中&#xff0c;NLP技术可以从语义角度提取一些对CTR预测有效的信息&#xff1b;在搜索场景中&#xff0c;也经常需要使用NLP技术确定展现的物料与搜索query的相关性&#xff0c;过滤掉相关性较差的物…

设计模式——抽象工厂模式(Abstract Factory Pattern)

概述 抽象工厂模式的基本思想是将一些相关的产品组成一个“产品族”&#xff0c;由同一个工厂统一生产。在工厂方法模式中具体工厂负责生产具体的产品&#xff0c;每一个具体工厂对应一种具体产品&#xff0c;工厂方法具有唯一性&#xff0c;一般情况下&#xff0c;一个具体工厂…

YOLOv5改进 | 二次创新篇 | 结合iRMB和EMA形成全新的iEMA机制(全网独家创新)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,为什么这么说,从去年的三月份开始对于图像领域的论文发表其实是变难的了,在那之前大家可能搭搭积木的情况下就可以简单的发表一篇论文,但是从去年开始单纯的搭积木其实发表论…

第1课 ROS 系统介绍

1.ROS操作系统介绍 在学习ROS 系统前&#xff0c;我们需要先了解操作系统的定义。操作系统&#xff0c;顾名思义&#xff0c;即提供部分软件和硬件的接口&#xff0c;以供用户直接使用。因此&#xff0c;针对不同的平台、不同的功能&#xff0c;需要采用不同的操作系统来完成底…

Three.js 纹理贴图的实现

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 纹理贴图简介 当我们创建一个网格时&#xff0c;比如我们不起眼的立…

大模型开启应用时代 数钉科技一锤定音

叮叮叮叮&#xff01;数钉智造大模型&#xff0c;“定音”强势发布&#xff01; 随着科技的飞速发展&#xff0c;大模型技术已逐渐成为推动产业变革的核心力量。在这一浪潮中&#xff0c;数钉科技凭借深厚的技术积累和敏锐的市场洞察力&#xff0c;成功利用大模型技术搭建起智能…

鸿蒙开发-UI-布局

鸿蒙开发-序言 鸿蒙开发-工具 鸿蒙开发-初体验 鸿蒙开发-运行机制 鸿蒙开发-运行机制-Stage模型 鸿蒙开发-UI 鸿蒙开发-UI-组件 鸿蒙开发-UI-组件-状态管理 鸿蒙开发-UI-应用-状态管理 鸿蒙开发-UI-渲染控制 文章目录 前言 一、布局概述 1.布局结构 2.布局元素组成 3.布局分类 …

场效应管在电路中如何控制电流大小

场效应管的概念 场效应晶体管&#xff08;FieldEffectTransistor缩写&#xff08;FET&#xff09;&#xff09;简称场效应管。主要有两种类型&#xff08;juncTIonFET—JFET&#xff09;和金属-氧化物半导体场效应管&#xff08;metal-oxidesemiconductorFET&#xff0c;简称M…

操作系统详解(5)——信号(Signal)

系列文章&#xff1a; 操作系统详解(1)——操作系统的作用 操作系统详解(2)——异常处理(Exception) 操作系统详解(3)——进程、并发和并行 操作系统详解(4)——进程控制(fork, waitpid, sleep, execve) 文章目录 概述信号的种类Hardware EventsSoftware Events 信号的原理信号…

YOLOv8改进 | 注意力篇 | 实现级联群体注意力机制CGAttention (全网首发)

一、本文介绍 本文给大家带来的改进机制是实现级联群体注意力机制CascadedGroupAttention,其主要思想为增强输入到注意力头的特征的多样性。与以前的自注意力不同,它为每个头提供不同的输入分割,并跨头级联输出特征。这种方法不仅减少了多头注意力中的计算冗余,而且通过增…

虚幻UE 特效-Niagara特效初识

虚幻的Niagara特效系统特别的强大&#xff0c;可以为开发者提供丰富的视觉效果&#xff01; 本篇笔记对Niagara系统进行初步的学习探索 文章目录 前言一、Niagara四大核心组件二、粒子发射器和粒子系统1、粒子发射器的创建2、粒子系统的创建3、Niagara系统的使用 总结 前言 在…

【SSM框架】初识Spring

初识Spring Spring家族 Spring发展到今天已经形成了一种开发的生态圈&#xff0c;Spring提供了若千个项目&#xff0c;每个项目用于完成特定的功能 ✅Spring Framework&#xff08;底层框架&#xff09;Spring Boot&#xff08;提高开发速度&#xff09;Spring Cloud&#xf…

C# 图解教程 第5版 —— 第24章 预处理指令

文章目录 24.1 什么是预处理指令24.2 基本规则24.3 符号指令&#xff08;#define、#undef &#xff09;24.4 条件编译&#xff08;#if、#else、#elif、#endif&#xff09;24.5 条件编译结构24.6 诊断指令&#xff08;#warning、#error&#xff09;24.7 行号指令&#xff08;#li…

最新域名群站开源系统:打造强大网站矩阵,引领SEO优化新潮流!

搭建步骤 第一步&#xff1a;安装PHP和MYSQL服务器环境 对于想要深入了解网站建设的人来说&#xff0c;自己动手安装PHP和MYSQL服务器环境是必不可少的步骤。这将使你能够更好地理解网站的运行机制&#xff0c;同时为后续的网站开发和优化打下坚实基础。 第二步&#xff1a;…

迅腾文化用网络集成化生态系统助力品牌之路的坚实后盾

商业竞争激烈&#xff0c;品牌不仅是企业的标志和形象&#xff0c;更是其核心价值和竞争力的体现。然而&#xff0c;企业在品牌推广过程中面临着诸多如缺乏有效的渠道管理、品牌形象模糊以及竞争激烈的市场环境等。这些阻碍着企业的品牌发展和市场占有率的提升。本文将通过企业…

[GN] nodejs16.13.0版本完美解决node-sass和sass-loader版本冲突问题

项目场景&#xff1a; npm install 运行vue项目时候 问题描述 项目场景&#xff1a;sass-loader &#xff0c;node-sass出错 ! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: smoore-mes-web1.4.0 npm ERR! Found: webpack3.12.0 npm ER…

【计算机组成原理】高速缓冲存储器 Cache 的写策略(Writing Policy)

写策略 Writing Policy 缓存的写策略指的是确定何时将数据写入缓存或主存的策略。 写命中 Write Hit 全写法 Write Through 在全写法策略中&#xff0c;每次发生写操作时都会将数据同时写入缓存和主存。这样可以保证数据的一致性&#xff0c;但会增加主存的写入操作&#xf…

ubuntu连接xshell怎么连接

在网上找了好多办法都不行 例如 太久没打开Ubuntu可能输入命令查不到IP地址&#xff0c;解决办法也比较简单&#xff0c;首先第一步 确定自己能不能进入管理员root权限&#xff08;输入命令su&#xff09;&#xff0c;如果没有的话得重新配置&#xff0c;如下图 这是因为当前Ub…