依旧是熟悉的期末作业,是微信小游戏官网的Demo来着,然后我边百度边对它做了一些改动

说起来好久没更新博客了......最近在用unity做游戏准备参加计算机设计大赛,花了好久终于做完初稿了哈哈哈哈嗝

顺祝看到这篇博客的各位新年快乐~

PS:完整工程下载及相关说明:https://download.csdn.net/download/weixin_41918712/10954323


用例图


效果图

      


步骤

PS:图片/音频的素材下载:https://pan.baidu.com/s/1NrSonSJnSjm3VxiEUD4iVw    提取码: q7ya

  1. 打开微信开发者工具,新建一个微信小游戏Demo,然后进入编辑界面。    

  2. 打开项目文件夹,将素材中的两个文件夹复制进项目文件夹里(替换)。
  3. 我们先把runtime里的3个脚本做些改动   ,分别是背景、文字UI显示和音乐控制。脚本详见下面【源码】。
  4. player文件夹里的index.js需要做些改动,主要是添加双发子弹的相关方法。  
  5. npc文件夹需要增加的内容就有些多了,主要是增加了血包、双发子弹的生成方法,以及分数达到88时会开始产生能够发射子弹的敌人。这些新加的脚本就在npc文件夹 右键 - 新建JS 就行。    
  6. 弄完上述这些,就可以改main.js、databus.js以及添加菜单脚本menu.js   
  7. 设置游戏默认入口为菜单页  
  8. 版本号  

源码

runtime文件夹

background.js

import Sprite from '../base/sprite'const screenWidth  = window.innerWidth
const screenHeight = window.innerHeightconst BG_IMG_SRC   = 'images/bg.jpg'
const BG_WIDTH     = 512
const BG_HEIGHT    = 768/*** 游戏背景类* 提供update和render函数实现无限滚动的背景功能*/
export default class BackGround extends Sprite {constructor(ctx) {super(BG_IMG_SRC, BG_WIDTH, BG_HEIGHT)this.render(ctx)this.top = 0}update() {this.top += 2if ( this.top >= screenHeight )this.top = 0}/*** 背景图重绘函数* 绘制两张图片,两张图片大小和屏幕一致* 第一张漏出高度为top部分,其余的隐藏在屏幕上面* 第二张补全除了top高度之外的部分,其余的隐藏在屏幕下面*/render(ctx) {ctx.drawImage(this.img,0,0,this.width,this.height,0,-screenHeight + this.top,screenWidth,screenHeight)ctx.drawImage(this.img,0,0,this.width,this.height,0,this.top,screenWidth,screenHeight)}
}

 

gameinfo.js

const screenWidth  = window.innerWidth
const screenHeight = window.innerHeightlet atlas = new Image()
atlas.src = 'images/Common.png' /*面板组件构成*/
let menupic = new Image()
menupic.src = 'images/menu.jpg' /*菜单构成*/export default class GameInfo {renderGameScore(ctx, score) {ctx.fillStyle = "#ffffff"ctx.font      = "20px Arial"ctx.fillText('? ',10,30)ctx.fillText(score,40,30)}//画出血量renderGameHp(ctx, hp) {ctx.fillStyle = "#ff0000"ctx.font = "20px Arial"ctx.fillText('❤  ',13,70)ctx.fillText(hp,40,70)ctx.fillText(' / 3',50,70)}renderGameOver(ctx, score) //游戏结束{ctx.drawImage(atlas, 0, 0, 119, 108, screenWidth / 2 - 150, screenHeight / 2 - 100, 300, 300)ctx.fillStyle = "#ffffff"ctx.font    = "20px Arial"ctx.fillText('游戏结束',screenWidth / 2 - 40,screenHeight / 2 - 100 + 50)ctx.fillText('歼敌数:  ' + score,screenWidth / 2 - 40,screenHeight / 2 - 100 + 130)/*面板绘制---红火火恍恍惚惚*/ctx.drawImage( atlas,120, 6, 39, 24,screenWidth / 2 - 60,screenHeight / 2 - 100 + 150,120, 40)ctx.fillText  ('重新开始',screenWidth / 2 - 40,screenHeight / 2 - 100 + 175)ctx.drawImage(atlas,120, 6, 39, 24,screenWidth / 2 - 60,screenHeight / 2 - 100 + 200,120, 40)//返回菜单的ui布局ctx.fillText('返回菜单',screenWidth / 2 - 40,screenHeight / 2 - 100 + 225)/*** 重新开始按钮区域* 方便简易判断按钮点击*/this.btnArea_restart = {startX: screenWidth / 2 - 40,startY: screenHeight / 2 - 100 + 150,endX  : screenWidth / 2  + 50,endY  : screenHeight / 2 - 100 + 175}//返回菜单的按钮区域判断this.btnArea_remean = {startX: screenWidth / 2 - 40,startY: screenHeight / 2 - 100 + 200,endX: screenWidth / 2 + 50,endY: screenHeight / 2 - 100 + 225}}renderMenu(ctx) //k开始菜单{ctx.drawImage(menupic, 0, 0, screenWidth, screenHeight)/* ** 重新开始按钮区域* 方便简易判断按钮点击*/this.btnArea_start = {startX: screenWidth / 2 - 100,startY: screenHeight / 2 - 100 + 225,endX: screenWidth / 2 + 100,endY: screenHeight / 2 - 100 + 400}}
}

music.js

let instance //变量定义/*** 统一的音效管理器*/
export default class Music {constructor() {if ( instance )return instanceinstance = this
/**音效 */this.bgmAudio = new Audio()this.bgmAudio.loop = truethis.bgmAudio.src  = 'audio/bgm.mp3'this.shootAudio     = new Audio()this.shootAudio.src = 'audio/bullet.mp3'this.boomAudio     = new Audio()this.boomAudio.src = 'audio/boom.mp3'this.dieAudio = new Audio()this.dieAudio.src = 'audio/die.mp3'this.menuAudio = new Audio()this.menuAudio.loop = truethis.menuAudio.src = 'audio/menu.mp3'this.bossAudio = new Audio()this.bossAudio.src = 'audio/bossbuttle.mp3'this.playBgm()}playBgm() {this.bgmAudio.currentTime = 0this.bgmAudio.play()this.dieAudio.pause()this.menuAudio.pause()}playmenu() //播放菜单音乐{this.menuAudio.currentTime = 0this.menuAudio.play()this.bgmAudio.pause()this.dieAudio.pause()}stopBgm(){this.bgmAudio.pause()}playShoot() {this.shootAudio.currentTime = 0this.shootAudio.play()}playboss(){this.bossAudio.currentTime = 0this.bossAudio.play()}playExplosion() {this.boomAudio.currentTime = 0this.boomAudio.play()}playDie() {this.dieAudio.currentTime = 0this.dieAudio.play()}
}

runtime文件夹

index.js

import Sprite   from '../base/sprite'
import Bullet   from './bullet'
import DataBus  from '../databus'
//import main from '../main'const screenWidth    = window.innerWidth
const screenHeight   = window.innerHeight
let skill = 0;  //获取15发双弹头
// 玩家相关常量设置
const PLAYER_IMG_SRC = 'images/hero.png'
const PLAYER_WIDTH   = 80
const PLAYER_HEIGHT  = 80let databus = new DataBus()
//let main1=new main()export default class Player extends Sprite {constructor() {super(PLAYER_IMG_SRC, PLAYER_WIDTH, PLAYER_HEIGHT)// 玩家默认处于屏幕底部居中位置this.x = screenWidth / 2 - this.width / 2this.y = screenHeight - this.height - 30// 用于在手指移动的时候标识手指是否已经在飞机上了this.touched = falsethis.bullets = []// 初始化事件监听this.initEvent()}/*** 当手指触摸屏幕的时候* 判断手指是否在飞机上* @param {Number} x: 手指的X轴坐标* @param {Number} y: 手指的Y轴坐标* @return {Boolean}: 用于标识手指是否在飞机上的布尔值*/checkIsFingerOnAir(x, y) {const deviation = 30return !!(   x >= this.x - deviation&& y >= this.y - deviation&& x <= this.x + this.width + deviation&& y <= this.y + this.height + deviation  )}/*** 根据手指的位置设置飞机的位置* 保证手指处于飞机中间* 同时限定飞机的活动范围限制在屏幕中*/setAirPosAcrossFingerPosZ(x, y) {let disX = x - this.width / 2let disY = y - this.height / 2if ( disX < 0 )disX = 0else if ( disX > screenWidth - this.width )disX = screenWidth - this.widthif ( disY <= 0 )disY = 0else if ( disY > screenHeight - this.height )disY = screenHeight - this.heightthis.x = disXthis.y = disY}/*** 玩家响应手指的触摸事件* 改变战机的位置*/initEvent() {canvas.addEventListener('touchstart', ((e) => { //封装的指控方法e.preventDefault() //匿名方法let x = e.touches[0].clientXlet y = e.touches[0].clientY//if ( this.checkIsFingerOnAir(x, y) ) {this.touched = truethis.setAirPosAcrossFingerPosZ(x, y)}}).bind(this))canvas.addEventListener('touchmove', ((e) => { //封装的指控方法e.preventDefault() //匿名方法let x = e.touches[0].clientXlet y = e.touches[0].clientYif ( this.touched )this.setAirPosAcrossFingerPosZ(x, y)}).bind(this))canvas.addEventListener('touchend', ((e) => { //封装的指控方法e.preventDefault() //匿名方法this.touched = false}).bind(this))}/*** 玩家射击操作* 射击时机由外部决定*/diffbuttle()  //双弹头每秒消耗一个{if(skill>0) skill--;}addbuttle() //增加双弹头{skill+=15;}defaultbuttle(){skill=0;}shoot() //射击{let bullets = []let bulletNum;if (skill > 0) {bulletNum = 2; //子弹数}else bulletNum = 1;for (let i = 0; i < bulletNum; i++)bullets.push(databus.pool.getItemByClass('bullet', Bullet))bullets.forEach((bullet, index) => {bullet.init(this.x + this.width * (index + 1) / (bulletNum + 1) - bullet.width / 2,this.y - 10,10 )databus.bullets.push(bullet)})}
}

npc文件夹

enemy.js

import Animation from '../base/animation'
import DataBus   from '../databus'const ENEMY_IMG_SRC = 'images/enemy.png'
const ENEMY_WIDTH   = 60
const ENEMY_HEIGHT  = 60/** 速度初始 */
const __ = {speed: Symbol('speed')
}let databus = new DataBus()function rnd(start, end){return Math.floor(Math.random() * (end - start) + start)
}export default class Enemy extends Animation {constructor() {super(ENEMY_IMG_SRC, ENEMY_WIDTH, ENEMY_HEIGHT)this.initExplosionAnimation()}/** 速度值初始化 */init(speed) {this.x = rnd(0, window.innerWidth - ENEMY_WIDTH)this.y = -this.heightthis[__.speed] = speed this.visible = true}// 预定义爆炸的帧动画initExplosionAnimation() {let frames = []const EXPLO_IMG_PREFIX  = 'images/explosion'const EXPLO_FRAME_COUNT = 19for ( let i = 0;i < EXPLO_FRAME_COUNT;i++ ) {frames.push(EXPLO_IMG_PREFIX + (i + 1) + '.png')}this.initFrames(frames)}// 每一帧更新敌人位置update() {this.y += this[__.speed]// 对象回收if ( this.y > window.innerHeight + this.height )databus.removeEnemey(this)}
}

 

getskill.js


import Animation from '../base/animation'
import DataBus from '../databus'const SKILL_IMG_SRC = 'images/upbull.png'
const SKILL_WIDTH = 30
const SKILL_HEIGHT = 40/** 速度初始 */
const __ = {speed: Symbol('speed')
}let databus = new DataBus()function rnd(start, end) {return Math.floor(Math.random() * (end - start) + start)
}export default class Getskill extends Animation {constructor() {super(SKILL_IMG_SRC, SKILL_WIDTH, SKILL_HEIGHT) //初始化技能}/** 速度值初始化 */init(speed) {this.x = rnd(0, window.innerWidth - SKILL_WIDTH)this.y = -this.heightthis[__.speed] = speedthis.visible = true}// 每一帧更新敌人位置update() {this.y += this[__.speed]// 对象回收if (this.y > window.innerHeight + this.height)databus.removeSkill(this)}
}

 

blood.js


import Animation from '../base/animation'
import DataBus from '../databus'const BLOOD_IMG_SRC = 'images/blood.png'
const BLOOD_WIDTH = 60
const BLOOD_HEIGHT = 60/** 速度初始 */
const __ = {speed: Symbol('speed')
}let databus = new DataBus()function rnd(start, end) {return Math.floor(Math.random() * (end - start) + start)
}export default class Blood extends Animation {constructor() {super(BLOOD_IMG_SRC, BLOOD_WIDTH, BLOOD_HEIGHT) //初始化技能}/** 速度值初始化 */init(speed) {this.x = rnd(0, window.innerWidth - BLOOD_WIDTH)this.y = -this.heightthis[__.speed] = speedthis.visible = true}// 每一帧更新敌人位置update() {this.y += this[__.speed]// 对象回收if (this.y > window.innerHeight + this.height)databus.removeblood(this)}
}

 

smallboss.js

import Animation from '../base/animation'
import DataBus from '../databus'
import BoBullet from './BoBullet'const SMB_IMG_SRC = 'images/boss.png'
const SMB_WIDTH = 80
const SMB_HEIGHT = 80/** 速度初始 */
const __ = {speed: Symbol('speed')
}let databus = new DataBus()
//let isdie=falsefunction rnd(start, end) {return Math.floor(Math.random() * (end - start) + start)
}export default class SBoss extends Animation {constructor() {super(SMB_IMG_SRC, SMB_WIDTH, SMB_HEIGHT)this.initSMBAnimation()}/** 速度值初始化 */init(speed) {this.x = rnd(0, window.innerWidth - SMB_WIDTH)this.y = -this.heightthis[__.speed] = speedthis.visible = true}// 预定义爆炸的帧动画initSMBAnimation() {let frames = []const SMB_IMG_PREFIX = 'images/explosion'const SMB_FRAME_COUNT = 19for (let i = 0; i < SMB_FRAME_COUNT; i++) {frames.push(SMB_IMG_PREFIX + (i + 1) + '.png')}this.initFrames(frames)}// 每一帧更新敌人位置update() {this.y += this[__.speed]// 对象回收if (this.y > window.innerHeight + this.height)databus.removeSBoss(this)}bossshoot() //敌人攻击{let bullet = databus.pool.getItemByClass('bobullet', BoBullet)bullet.init //初始化子弹(this.x + this.width / 2 - bullet.width / 2,this.y + 20,10)databus.bossbullets.push(bullet)}
}

 

BoBullet.js

import Sprite from '../base/sprite'
import DataBus from '../databus'const BossBULLET_IMG_SRC = 'images/bossbu.png'
const BossBULLET_WIDTH = 20
const BossBULLET_HEIGHT = 34const __ = {speed: Symbol('speed')
}let databus = new DataBus()export default class BoBullet extends Sprite {constructor() {super(BossBULLET_IMG_SRC, BossBULLET_WIDTH, BossBULLET_HEIGHT)// this.initSMBAnimation()}init(x, y, speed) {this.x = xthis.y = ythis[__.speed] = speedthis.visible = true}/*// 预定义爆炸的帧动画initSMBAnimation() {let frames = []const SMB_IMG_PREFIX = 'images/explosion'const SMB_FRAME_COUNT = 19for (let i = 0; i < SMB_FRAME_COUNT; i++) {frames.push(SMB_IMG_PREFIX + (i + 1) + '.png')}this.initFrames(frames)}*/// 每一帧更新子弹位置update() {this.y += this[__.speed]// 超出屏幕外回收自身if (this.y > window.innerHeight + this.height)databus.removeBoBullets(this)}
}

主函数

databus.js

import Pool from './base/pool'let instance/*** 全局状态管理器*/
export default class DataBus {constructor() {if ( instance )return instanceinstance = thisthis.pool = new Pool()this.reset()}reset() {this.frame      = 0this.score      = 0this.bullets    = []this.enemys     = []this.animations = []this.gameOver   = false}/*** 回收敌人,进入对象池* 此后不进入帧循环*/removeEnemey(enemy) {let temp = this.enemys.shift()temp.visible = falsethis.pool.recover('enemy', enemy)}/*** 回收子弹,进入对象池* 此后不进入帧循环*/removeBullets(bullet) {let temp = this.bullets.shift()temp.visible = falsethis.pool.recover('bullet', bullet)}
}

 

main.js

import Player from './player/index'
import Sboss from './npc/smallboss'
import Enemy from './npc/enemy'
import GetSkill from './npc/getskill'
import Blood from './npc/blood'
import BackGround from './runtime/background'
import GameInfo from './runtime/gameinfo'
import Music from './runtime/music'
import DataBus from './databus'
import BoBullet from './npc/BoBullet'
import Menu from './menu'let ctx = canvas.getContext('2d')
let databus = new DataBus()
//let skill=0  //获取双弹头
/*** 游戏主函数*/
export default class Main {constructor() {this.restart()}/**开始ui绘制 *//**重新开始的初始化 */restart() {databus.reset()canvas.removeEventListener('touchstart',this.touchHandler)this.bg = new BackGround(ctx)this.player = new Player(ctx)this.gameinfo = new GameInfo()this.music = new Music()this.music.playBgm()this.player.defaultbuttle()window.requestAnimationFrame(this.loop.bind(this),canvas)}/*** 随着帧数变化的敌机生成逻辑* 帧数取模定义成生成的频率*/enemyGenerate() { //每秒30帧出现一次if (databus.frame % 30 === 0)  //databus.frame % 30 === 0{let enemy = databus.pool.getItemByClass('enemy', Enemy)enemy.init(5) //speed初始化databus.enemys.push(enemy)}}sbossGenerate() { //每秒30帧1/3概率出现一次大怪if (databus.score == 88) wx.showToast({ title: '难度提高...' });if (databus.score > 88) {if (databus.frame % 30 === 0)  //databus.frame % 30 === 0{let num = Math.floor(Math.random() * 2) //0--3if (num == 1) {let sboss = databus.pool.getItemByClass('sboss', Sboss)sboss.init(4) //speed初始化databus.sboss.push(sboss)}}}}//技能生成skillGenerate() {let num = Math.floor(Math.random() * 1000) //0--10if (num < 2) {let skill = databus.pool.getItemByClass('skill', GetSkill)skill.init(6)databus.skills.push(skill)}}//血块生成bloodGenerate() {let num = Math.floor(Math.random() * 1000) //0--10if (num < 1) {let blood = databus.pool.getItemByClass('blood', Blood)blood.init(6)databus.bloods.push(blood)}}// 全局碰撞检测collisionDetection() {let that = thisdatabus.bullets.forEach((bullet) => {for (let i = 0, il = databus.enemys.length; i < il; i++) //子弹打小怪{let enemy = databus.enemys[i]if (!enemy.isPlaying && enemy.isCollideWith(bullet)) {enemy.playAnimation()that.music.playExplosion()bullet.visible = falsedatabus.score += 1break}}for (let i = 0, il = databus.sboss.length; i < il; i++)//子弹打大怪{let sboss = databus.sboss[i]if (!sboss.isPlaying && sboss.isCollideWith(bullet)) {sboss.playAnimation()that.music.playExplosion()bullet.visible = falsedatabus.score += 2databus.removeSBoss(sboss)break}}for (let i = 0, il = databus.bossbullets.length; i < il; i++) //子弹打子弹{let enemy = databus.bossbullets[i]if (enemy.isCollideWith(bullet)) {that.music.playExplosion()bullet.visible = falseenemy.visible = falsebreak}}})//获得技能for (let i = 0, il = databus.skills.length; i < il; i++) {let skill = databus.skills[i]if (this.player.isCollideWith(skill)) {this.player.addbuttle()skill.visible = falsewx.showToast({ title: '获得双倍火力!' })break}}//获得血块for (let i = 0, il = databus.bloods.length; i < il; i++) {let blood = databus.bloods[i]if (this.player.isCollideWith(blood)) {blood.visible = falseif (databus.hp < 3) {wx.showToast({ title: '获得生命回复!' })databus.hp += 1}break}}/**游戏失败 */for (let i = 0, il = databus.enemys.length; i < il; i++) {let enemy = databus.enemys[i]if (this.player.isCollideWith(enemy)) {enemy.playAnimation()that.music.playExplosion()databus.hp -= 1if (databus.hp <= 0) databus.gameOver = truebreak}}for (let i = 0, il = databus.bossbullets.length; i < il; i++) //被敌人子弹打到{let enemy = databus.bossbullets[i]if (this.player.isCollideWith(enemy)) {//enemy.playAnimation()that.music.playExplosion()databus.hp -= 1enemy.visible = false;if (databus.hp <= 0) databus.gameOver = truebreak}}for (let i = 0, il = databus.sboss.length; i < il; i++) {let sboss = databus.sboss[i]if (this.player.isCollideWith(sboss)) {sboss.playAnimation()that.music.playExplosion()databus.hp -= 1databus.removeSBoss(sboss)if (databus.hp <= 0) databus.gameOver = truebreak}}}//游戏结束后的触摸事件处理逻辑touchEventHandler(e) {e.preventDefault()let x = e.touches[0].clientXlet y = e.touches[0].clientY//获取结束时按钮面板信息let area = this.gameinfo.btnArea_restartlet area_mean = this.gameinfo.btnArea_remean//按钮事件监听if (x >= area.startX&& x <= area.endX&& y >= area.startY&& y <= area.endY)this.restart()if (x >= area_mean.startX&& x <= area_mean.endX&& y >= area_mean.startY&& y <= area_mean.endY) {canvas.removeEventListener('touchstart',this.touchHandler)new Menu()}}/*** canvas重绘函数* 每一帧重新绘制所有的需要展示的元素*/render() {ctx.clearRect(0, 0, canvas.width, canvas.height)this.bg.render(ctx)databus.bullets.concat(databus.enemys).concat(databus.skills).concat(databus.bloods).concat(databus.sboss).concat(databus.bossbullets).forEach((item) => {item.drawToCanvas(ctx)})this.player.drawToCanvas(ctx)databus.animations.forEach((ani) => {if (ani.isPlaying) {ani.aniRender(ctx)}})this.gameinfo.renderGameScore(ctx, databus.score)this.gameinfo.renderGameHp(ctx, databus.hp)}// 游戏逻辑更新主函数update() {this.bg.update()databus.bullets.concat(databus.enemys).concat(databus.skills).concat(databus.bloods).concat(databus.bossbullets).concat(databus.sboss).forEach((item) => {item.update()})this.enemyGenerate()this.skillGenerate()this.bloodGenerate()this.collisionDetection()this.sbossGenerate()}// 实现游戏帧循环loop() {databus.frame++this.update()this.render()if (databus.frame % 20 === 0) {this.player.shoot()this.player.diffbuttle()this.music.playShoot()for (let i = 0, il = databus.sboss.length; i < il; i++) {//if (databus.sboss[i].IsDie()) continue;let num = Math.floor(Math.random() * 4) //0--3if (num == 1) {let sboss = databus.sboss[i]sboss.bossshoot()this.music.playboss()}}}// 游戏结束停止帧循环if (databus.gameOver) {this.gameinfo.renderGameOver(ctx, databus.score)this.music.playDie()this.music.stopBgm()this.touchHandler = this.touchEventHandler.bind(this)canvas.addEventListener('touchstart', this.touchHandler)return}window.requestAnimationFrame(this.loop.bind(this),canvas)}
}

 

menu.js

import GameInfo from './runtime/gameinfo'
import Music from './runtime/music'import Main from './main'
let ctx = canvas.getContext('2d')/*** 游戏主函数*/
export default class Menu
{constructor() {this.remenu()}/**菜单绘制 */remenu(){this.music = new Music()this.gameinfo = new GameInfo()this.music.playmenu()this.gameinfo.renderMenu(ctx)this.touchHandler = this.touchEventHandler.bind(this)canvas.addEventListener('touchstart', this.touchHandler)}/**菜单按钮监听 *///游戏结束后的触摸事件处理逻辑touchEventHandler(e) {e.preventDefault()let x = e.touches[0].clientXlet y = e.touches[0].clientY//获取结束时按钮面板信息let area = this.gameinfo.btnArea_start//按钮事件监听if (x >= area.startX  && x <= area.endX  && y >= area.startY  && y <= area.endY){canvas.removeEventListener('touchstart',this.touchHandler)new Main()}}
}

入口

game.js

import './js/libs/weapp-adapter'
import './js/libs/symbol'import Main from './js/main'
import Menu from './js/menu'new Menu()

 

 


 ✎﹏﹏₯㎕《晴天》花落的那一天...﹍﹍﹍﹍﹍﹍

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. JSP简明教程(三):JSP隐含对象

    所谓隐含对象就是已经被系统定义好的一些对象,可以直接使用。JSP中有以下几个隐含对象:requestresponseout 可以使用out.flush来将缓冲区中的数据全都发送到客户端。sessionapplication 与整个应用的上下文有关。configpageContext 与JSP页面的上下文有关。page 在JSP页面中相…...

    2024/4/13 0:13:50
  2. Android Studio飞机大战

    1.整体实现思路2.如何绘制循环滚动的背景图片1.添加两张或更多图片,x,y1坐标为屏幕的顶点,y2= y1-photo.getHeight(); 2.进行两张图片的逻辑判断:if (y1>=MySurfaceView.height) {y1=y2-photo.getHeight();}if (y2>=MySurfaceView.height){y2=y1-photo.getHeight();…...

    2024/4/17 10:21:39
  3. JSP网页开发安装2019-03 eclipse,详细并且简单教程这里有。

    耗时一个下午,终于完成啦。 波折太多啦。 有版本不匹配,网速慢(15K/S。。),下载的文件有病毒,配置服务版本过低! 都是泪呀~~~全程双击就可以啦。环境变量需要自己配置。 关于所需要的软件以及jdk,jre。 jdk里面包含有jre,等待jdk安装完毕之后。就会弹出一个安装jre的窗…...

    2024/4/13 0:13:40
  4. 飞机大战代码(一)

    飞机大战源代码(一)注:红线报错并非代码错误,各类代码需配合一起使用。1.主程序:import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import and…...

    2024/4/5 20:06:34
  5. Java Web程序设计教程(一)JSP+Servlet

    (一)什么是Servlet?在JavaEE平台上,Servlet用于响应终端用户的请求,JavaEE API规范定义为:Servlet是一个运行在Web服务器上的Java小程序。接收和响应来自web客户端的请求,使用HTTP通信。1:ServletServlet实现了java.servlet.Servletjie接口,但不直接实现。只是接口,包…...

    2024/4/13 23:58:20
  6. 基于Python的Pygame库实现的仿微信游戏中的飞机大战小游戏

    不知大家是否还记得当时微信上风靡一时的打飞机小游戏,通过控制我方飞机的上下左右移动,发射子弹来击毁敌机,增加得分。这是一款简单操作易上手又很有趣味性的游戏,我使用python作为基本语言,利用pygame仿照微信版本完成了这款低配版飞机大战游戏。我方飞机会按时的不断发…...

    2024/4/13 0:13:55
  7. pygame之飞机大战 sprite精灵类实现源代码和资源下载链接

    用pygame的sprite 重写了飞机大战实现功能: 英雄机:按住按键连续发射 子弹:各种子弹,静态的,动态的,不同的子弹不同的伤害。发射方式:花样的发射方式,单、双、三、45度……,各种发射方式。敌机:不同的敌机,随机的发射方式,随机的子弹,不同的生命值。BOSS:敌机的属…...

    2024/4/5 20:06:31
  8. JSP复习总结

    JSP基础 JSP注释分为显式(客户端可以看见)和隐式注释(不可见)显式: <!---->隐式: // /**/ <%-- --%>JSP编译指令page定义一个jsp页面的相关属性。 <%@page 属性=“内容”%>常用import、pageEncoding、errorPage/isErrorPage<%@pagelanguage=…...

    2024/4/17 2:23:54
  9. 【181007】VC++ 打飞机游戏源码

    VC++ 打飞机游戏,一款VC++游戏源码,没搞懂怎么玩,因为看不出飞机在哪里飞!游戏可以设置,自己布局游戏,带声音,玩起来挺有意思。在VC++6.0下编译通过,运行如下示。源码下载地址:点击下载备用下载地址:点击下载...

    2024/4/13 0:13:25
  10. 30套JSP网站源代码合集

    JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。我收集了一些JSP开发的网站源代码,从实践中学习,希望对大家有用。资料名称下载地址网上购物系统(jsp+mysql+tomcat) http://down.51cto.com/data/54179jsp网上…...

    2024/4/5 10:35:44
  11. 高级程序设计——打飞机小游戏

    实验报告(151220129 吴政亿)一、实验要求课程设计一设计一个基于控制台的飞机游戏。 要求: 1. 包含玩家飞机、敌机、子弹等元素。 2. 设计过程中考虑向MFC显式的扩展性。 3. 鼓励设计其他包含交互操作的小游戏。上传时请只上传项目文件、代码文件以及其他编译必须的文件,…...

    2024/4/5 10:35:42
  12. JSP项目中使用ueditor(百度编辑器)

    JSP项目中使用ueditor1. 从http://ueditor.baidu.com下载JSP版本的ueditor,注意GBK和UTF-8两种版本。2. 在Web Project项目的WebRoot目录下新增thirdparts目录,然后将ueditor添加到thirdparts目录中。3. 将ueditor_utf8目录下的jsp/lib目录中的jar包拷贝到项目的lib目录。4. …...

    2024/4/5 20:06:29
  13. Unity3D编程--飞机大战

    之前学校组织的去郑州智游学习了一个月VR,开发工具用的是Unity3D,工具很好用,感兴趣的同学可以接触一下,做个小游戏什么的真的方便,开发过程也很有意思,所见即所得来着,根据老师讲过的案例自己又写了一个,主要使用的C#语言,可惜源码给弄丢了,只有打包程序说明:游戏分…...

    2024/4/13 0:14:41
  14. JSP入门初级教程之实现页面跳转

    JSP中使用jsp forward Action来实现页面的跳转功能。  语法:<jsp:forward page="{relativeURL|<%= expression %>}"/> 或<jsp:forward page="{relativeURL|<%= expression %>}"><jsp:param name="parameterName"value="{parame…...

    2024/4/5 20:06:27
  15. pygame之《飞机大战》(一)

    前言: 学习完Python后,为巩固与练习,因而编写了《飞机大战》小游戏。(共六个章节)GitHub:https://github.com/GYT0313/FeiJiDaZhan 最终成果展示:必须资源:图片和音乐下载 完整代码,及可在windows运行的.exe文件 pygame之《飞机大战》( 二 ) pygame之《飞机大战》(…...

    2024/4/13 0:14:36
  16. LR自带网站飞机订票系统 启动

    LR自带的网站:飞机订票系统 可是如何启动自带的网站呢?? 一、启动服务:开始-所有程序--HP Software-HP LoadRunner-Samples-Web-Start Web Server二、打开网页:开始-所有程序--HP Software-HP LoadRunner-Samples-Web- HP Web Tours Applicaion来验证服务是否成功启动。发…...

    2024/4/13 0:14:16
  17. JSP运行环境的搭建和JDBC数据库连接初级教程- -

    介个JSP的环境搭建和连接MSSQLSERVER2000的作业,前前后后摸了将近一周时间才测试连接成功。T.T网上的教程很多,但多多少少不清楚,且有错。所以让偶来整理一下,方便广大的BC级对JSP感兴趣的或者是因为工作和学习不得不感兴趣的网友。- -+为了让大家能搜索到这篇建议的教程,…...

    2024/4/18 7:45:53
  18. 使用pygame开发了一个打飞机游戏^_^

    打飞机小游戏,通过控制我方飞机的上下左右移动,发射子弹来击毁敌机,增加得分。这是一款简单操作易上手又很有趣味性的游戏,我使用python作为基本语言,利用pygame仿照微信版本完成了这款低配版飞机大战游戏。 我方飞机会按时的不断发射子弹,玩家通过上下左右的方向键来躲避…...

    2024/4/9 18:05:38
  19. jsp文件放在WebRoot下还是WebInfo下

    观点一:(较为赞同)安全性不是真正的原因,因为jsp是要解析后才显示到浏览器的,即使用户知道你jsp的路径,也不可能通过浏览器看到jsp源码的,而如果是通过其它手段入侵服务器的话,放在WEB-INF又和放在别的地方有什么区别呢??? 真正的原因是,对于早期直接嵌入java代码的…...

    2024/4/17 23:51:29
  20. Python《飞机大战》(精简版)

    前言: 无聊的时候学习了一下pygame开发小游戏,自我感觉挺不错的,借鉴网上《飞机大战》的思路,并对其进行改善,实现了自己的一个简单的《飞机大战》小程序。 说明:精灵类:基类:GameSprite(精灵)。 派生类:Backgroud(背景)、Enemy(敌军飞机)、Hero(玩家)、Bulle…...

    2024/4/13 0:14:36

最新文章

  1. 2024年软件开发行业的薪资水平在下滑的原因?

    下降的原因主要包括&#xff1a; 科技行业竞争加剧&#xff1a;随着科技行业竞争的加剧&#xff0c;企业为了压缩成本&#xff0c;开始降低程序员的薪资水平。 人才供应过剩&#xff1a;在计算机成为热门学科的同时&#xff0c;社会上出现了对IT业泡沫和虚假繁荣的质疑。大量…...

    2024/4/18 21:04:54
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. MySQL 底层数据结构 聚簇索引以及二级索引 Explain的使用

    数据结构 我们知道MySQL的存储引擎Innodb默认底层是使用B树的变种来存储数据的 下面我们来复习一下B树存储 B树存储 哈希存储的区别 哈希存储,只能使用等值查询 B树与B树存储 我们知道B树实际上就是B树的变种 那么为啥使用B树而不是使用B树呢? 我们知道效率的高低主要取决于…...

    2024/4/18 20:00:53
  4. linux系统编程 线程 p1

    线程 1.线程的概念2.线程的创建/终止/取消&#xff0c;栈的清理2.1线程创建2.2线程终止2.3 栈的清理 1.线程的概念 线程就是一个正在运行的函数。 posix线程是一套标准&#xff0c;而不是实现。 openmp线程。 线程标识&#xff1a;pthread_t &#xff08;linux环境下是整形数&…...

    2024/4/18 5:05:54
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/18 0:33:31
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/17 20:29:59
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/18 9:45:31
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/17 2:33:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/17 7:50:46
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/18 3:56:01
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/18 3:56:04
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/18 3:55:30
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/18 3:55:54
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/18 3:55:45
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/17 21:50:30
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/15 13:53:08
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/15 9:16:52
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/18 9:24:29
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/18 3:56:18
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/18 3:55:57
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/18 3:55:50
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/15 23:28:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/18 3:56:20
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/18 3:56:11
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57